react native組件的創建


react native組件的創建

react文件加載順序:

react項目啟動后,先加載index.js。在index.js中可以指向首頁。

import { AppRegistry } from 'react-native';
import App from './App';

AppRegistry.registerComponent('myExample', () => App);

以上代碼中,首頁指向了app.js。如果希望指向其他定義的頁面,可以這樣寫

import page from './page ';

AppRegistry.registerComponent('myExample', () => page );

  

一、ES6定義組件(推薦)

1、新建一個myComponent.js。首先引入需要的依賴

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

2、定義組件類,組件需要繼承Component ,render()方法里為組件渲染的ui部分,是必須的。

export default class myComponent extends Component {
    render() {
        return (
            <Text>
              Welcome to React Native -androidaa!
            </Text>
        );
      }
} 

3、在需要使用的組件中引入

import MyComponent from './myComponent'
render() {
    return (
        <MyComponent/>
    );
  }

4、如何在es6中使用父組件向子組件傳值

子組件使用this.props,用於接收父組件傳值

export default class myComponent extends Component {
    render() {
        return (
            <Text>
              Welcome to React Native -androidaa {this.props.name}!
            </Text>
        );
      }
} 

父組件定義屬性值

<MyComponent name='小明'/>

 

二、函數式定義組件(無狀態,不能使用this,也沒有完整的生命周期方法)

1、定義

function myComponent() {
    return (
        <Text>
            Welcome to React Native -android!
        </Text>
    )
}
module.exports = myComponent

2、如何在函數式里使用父組件向子組件傳值 

子組件使用props,用於接收父組件傳值

function myComponent(props) {
    return (
        <Text>
            Welcome to React Native -android{props.name}!
        </Text>
    )
}

父組件定義屬性值

<MyComponent name='小明'/>

  

如何打開控制台

手機搖一搖,點擊remote js debugging。

總結:

1、es6和函數式組件,在父子組件傳值時,es6使用this.props.xx,函數式使用props.xx。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM