React-Native 学习第二天:Props(属性)

简介: 大多数组件在创建时就可以使用各种参数来进行定制。用于定制的这些参数就称为props(属性)。1、展示一张图片export default class TestRN extends Component { //render() 这是一个必须的方法...

大多数组件在创建时就可以使用各种参数来进行定制。用于定制的这些参数就称为props(属性)。
1、展示一张图片

export default class TestRN extends Component {
  //render() 这是一个必须的方法,返回一些用户渲染结构的JSX语句
  render() {
    //定义一个pic常量,赋值为一个图片的地址
    let pic = {
      uri:'https://upload.wikimedia.org/wikipedia/commons/d/de/Bananavarieties.jpg'
    };
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          RN学习第二天
        </Text>
        <Image source={pic} style={{width:193,height:110}} />
      </View>
    );
  }
}

<Image source={pic} style={{width:193,height:110}} />
这句话中,source和style就是属性。source控制图片的来源,也就是地址。注意这里的pic常量赋值方式,外面要加大括号。style控制图片显示的大小。

注意:在iOS上使用http链接的图片地址可能不会显示,因为ios9上增加了ATS,相信绝大部分的ios开发者都是知晓的。解决办法就是用xcode打开项目,修改plist文件属性,这里不再赘述。
运行效果如下:

img_64d365da090b49e283ba73b5f67b117f.png
image.png

2、自定义组件属性
就像是函数传参数一样,一个函数就类似于一个组件,属性相当于参数。上代码:

//自定义一个Greeting组件
class Greeting extends Component {
  render() {
    return (
       <Text>Hello {this.props.name}!</Text>
    );
  }
}

关键点就是 {this.props.name}! 这一句代码。这里的name就相当于是函数的参数,调用的方式如下:

//定义了一个名为TestRN的新的组件
export default class TestRN extends Component {
  //render() 这是一个必须的方法,返回一些用户渲染结构的JSX语句
  render() {
    //定义一个pic常量,赋值为一个图片的地址
    let pic = {
      uri:'https://upload.wikimedia.org/wikipedia/commons/d/de/Bananavarieties.jpg'
    };
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          RN学习第二天
        </Text>
        <Image source={pic} style={{width:193,height:110}} />
        <View style = {{alignItems:'center'}}>
           <Greeting name='小明' />
           <Greeting name='花袭人' />
           <Greeting name='七夕' />
       </View>
      </View>
    );
  }
}

主要代码如下:

     <View style = {{alignItems:'center'}}>
           <Greeting name='小明' />
           <Greeting name='花袭人' />
           <Greeting name='七夕' />
       </View>

运行效果如下:

img_483d28e85d6415bd338d66654eb96f84.png
image.png

如果有需要源码的请私信联系我。

如果有错误的地方,还请指出,不胜感激。

目录
相关文章
|
2月前
|
前端开发 JavaScript
React学习之——条件渲染
【10月更文挑战第16天】React 中没有像Vue中v-if这种指令。React 中的条件渲染和 JavaScript 中的一样,使用 JavaScript 运算符 if 或者条件运算符去创建元素来表现当前的状态,然后让 React 根据它们来更新 UI。
|
3月前
|
前端开发 JavaScript
学习react基础(3)_setState、state、jsx、使用ref的几种形式
本文探讨了React中this.setState和this.state的区别,以及React的核心概念,包括核心库的使用、JSX语法、类与函数组件的区别、事件处理和ref的使用。
75 3
学习react基础(3)_setState、state、jsx、使用ref的几种形式
|
3月前
|
前端开发
学习react基础(2)_props、state和style的使用
本文介绍了React中组件间数据传递的方式,包括props和state的使用,以及如何在React组件中使用style样式。
34 0
|
1月前
|
前端开发 JavaScript 安全
学习如何为 React 组件编写测试:
学习如何为 React 组件编写测试:
37 2
|
2月前
|
资源调度 前端开发 JavaScript
React进阶学习
React进阶学习
15 1
|
3月前
|
前端开发
React添加路径别名alias、接受props默认值、并二次封装antd中Modal组件与使用
本文介绍了在React项目中如何添加路径别名alias以简化模块引入路径,设置组件props的默认值,以及如何二次封装Ant Design的Modal组件。文章还提供了具体的代码示例,包括配置Webpack的alias、设置defaultProps以及封装Modal组件的步骤和方法。
80 1
React添加路径别名alias、接受props默认值、并二次封装antd中Modal组件与使用
|
2月前
|
JSON 前端开发 JavaScript
React 进阶阶段学习计划
React 进阶阶段学习计划
|
3月前
|
前端开发
React属性之context属性
React中的Context属性用于跨组件传递数据,通过Provider和Consumer组件实现数据的提供和消费。
37 3
|
2月前
|
前端开发 JavaScript CDN
React Props
10月更文挑战第8天
16 0
|
2月前
|
前端开发 JavaScript API
React将组件作为属性传递的最佳实践
本文探讨了在React中将组件作为属性传递的三种常见方式:作为元素传递、作为组件传递、作为函数传递。通过构建带图标的按钮组件,对比分析了每种方式的优缺点,最终推荐将组件作为函数传递,因为它提供了更好的可控性、灵活性和可扩展性。
43 0