React Native 之生命週期及props,state

Props 屬性 相當(dāng)于OC中的ReadOnly ,只讀屬性!!
state 狀態(tài) 每個(gè)組件有一個(gè)系統(tǒng)的setState方法,用來(lái)改變狀態(tài),而且會(huì)刷新界面!調(diào)用Render()函數(shù)!!

export default class Test extends Component {
    state={    //狀態(tài)機(jī)
        title:'默認(rèn)值',
        person:'ABC'
    }

    static defaultProps={
        age:18
    }

    //相當(dāng)於OC中的ViewWillAppear
    componentWillMount(){
        //AlertIOS.alert('WillMount來(lái)了')
    }

    //
    render() {
        return (
            <View ref="topView" style={styles.container}>
                <Text>{this.state.person}</Text>
                <Text>{this.props.age}</Text>
                <Button title="我就是個(gè)Button"
                        color="red"
                        onPress={()=>this.click('點(diǎn)擊')}
                />
            </View>
        );
    }
    click(event){
        //改變狀態(tài)機(jī)後才會(huì)進(jìn)componentDidUpdate()方法
        this.setState({
            title:event
        });

        //可以通過(guò)對(duì)DOM設(shè)置**ref屬性**來(lái)拿到View
        console.log(this.refs.topView)
    }
    //在Render之後 -- 今後用來(lái)發(fā)送網(wǎng)絡(luò)請(qǐng)求(第一次加載的數(shù)據(jù))
    componentDidMount(){
        // AlertIOS.alert('DidMount')
    }

    //這個(gè)方法!!刷新UI之後調(diào)用!!!第一次加載不會(huì)進(jìn)來(lái)!!狀態(tài)機(jī)改變後會(huì)進(jìn)來(lái)!!!
    componentDidUpdate(){
        AlertIOS.alert('DidUpdate');
    }

}

//下面這個(gè)函數(shù)是個(gè)閉包,調(diào)用方法為onPress={btnClick}
const btnClick = ()=>{
    AlertIOS.alert('我來(lái)了!!')
}

const styles = StyleSheet.create({
    container: {
        flex: 1,
        justifyContent: 'center',
        alignItems: 'center',
        backgroundColor: '#F5FCFF',
    }
});
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 最近看了一本關(guān)于學(xué)習(xí)方法論的書(shū),強(qiáng)調(diào)了記筆記和堅(jiān)持的重要性。這幾天也剛好在學(xué)習(xí)React,所以我打算每天堅(jiān)持一篇R...
    gaoer1938閱讀 1,809評(píng)論 0 5
  • 在React Native中使用組件來(lái)封裝界面模塊時(shí),整個(gè)界面就是一個(gè)大的組件,開(kāi)發(fā)過(guò)程就是不斷優(yōu)化和拆分界面組件...
    ITxiansheng閱讀 981評(píng)論 1 2
  • 本筆記基于React官方文檔,當(dāng)前React版本號(hào)為15.4.0。 1. 安裝 1.1 嘗試 開(kāi)始之前可以先去co...
    Awey閱讀 7,917評(píng)論 14 128
  • 前言 學(xué)習(xí)本系列內(nèi)容需要具備一定 HTML 開(kāi)發(fā)基礎(chǔ),沒(méi)有基礎(chǔ)的朋友可以先轉(zhuǎn)至 HTML快速入門(mén)(一) 學(xué)習(xí) 本人...
    珍此良辰閱讀 2,403評(píng)論 3 9
  • 八日 空洞 在失去之后,我們才開(kāi)始明白;也只有在失去之后,我們才徹底失落了詞語(yǔ)的意義。 九日 真名 奇幻小說(shuō)的忠實(shí)...
    寶寶腳抽筋閱讀 364評(píng)論 0 0

友情鏈接更多精彩內(nèi)容