React Native - 02 - 属性

大多数组件可以在创建时自定义,具有不同的参数。这些创建参数被称为属性。

例如,一个基本的React Native组件是Image。当你创建一个图像时,你可以使用一个名为source的属性来控制它显示的图像。

import React, { Component } from 'react';
import { Image } from 'react-native';
export default class Bananas extends Component {
    render () {
        let pic = {
            uri: '[https://upload.wikimedia.org/wikipedia/commons/d/de/Bananavarieties.jpg](https://upload.wikimedia.org/wikipedia/commons/d/de/Bananavarieties.jpg)'
        };
        return (
            <Image source={ pic } style={{ width: 375, height: 200 }} />
        );
    }
}

注意{pic}被大括号包围,以将变量pic嵌入到JSX中。您可以将任何JavaScript表达式放在JSX中的大括号内。


image.png

你自己的属性也可以使用属性。这使您可以在应用程序的许多不同位置使用单个组件,每个位置的属性稍有不同。只需在您的渲染函数中引用this.props即可。这是一个例子:

import React, { Component } from 'react';
import { Text, View } from 'react-native';

class Greeting extends Component {
    render() {
        return (
            <Text>Hello {this.props.name}</Text>
        );
    }
}
export default class LotsOfGreetings extends Component {
    render() {
        return (
            <View style={{ alignItems: 'center' }}>
                <Greeting name='张三' />
                <Greeting name='李四' />
                <Greeting name='王五' />
            </View>
        );
    }
}
image.png

使用名称作为属性允许我们自定义Greeting组件,所以我们可以为每个问候重用该组件。这个例子也使用JSX中的Greeting组件,就像内置组件一样。做这件事的力量是让React如此酷的原因 - 如果你发现自己希望有一套不同的用户界面原语可以使用,那么你只需要发明新的。

另一个新事物是View组件。一个视图作为其他组件的容器是有用的,以帮助控制样式和布局。

使用道具和基本的文本,图像和视图组件,您可以构建各种各样的静态屏幕。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 以下内容是我在学习和研究React时,对React的特性、重点和注意事项的提取、精练和总结,可以做为React特性...
    科研者阅读 12,573评论 2 21
  • HTML模版 之后出现的React代码嵌套入模版中。 1. Hello world 这段代码将一个一级标题插入到指...
    ryanho84阅读 11,411评论 0 9
  • <一>编写Hello World React Native看起来很像React,只不过其基础组件是原生组件而非we...
    AFinalStone阅读 4,622评论 0 2
  • 原教程内容详见精益 React 学习指南,这只是我在学习过程中的一些阅读笔记,个人觉得该教程讲解深入浅出,比目前大...
    leonaxiong阅读 7,840评论 1 18
  • 3. JSX JSX是对JavaScript语言的一个扩展语法, 用于生产React“元素”,建议在描述UI的时候...
    pixels阅读 7,911评论 0 24