在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ react 組件通信

react 組件通信

父組件

import React,{ Component } from "react";
import List from "./main";
export default class App extends Component{
    render(){
        return(
            <div>
                <List data = {this.state.list} />
            </div>
        )
    }
}

子組件

import React,{ Component } from "react";
export default React.createClass({
     getInitialState() {
        return {
            data:this.props.data
        };
    },

    componentDidMount() {
        let data = this.props.data;
        console.log(data)
    },
    
    render(){
        return(
            <div>{this.props.data}</div>
        )
    }
    
})

為什么我在子組件 getInitialState 、componentDidMount 里都拿不到父組件傳過來的data但是在渲染的dom結(jié)構(gòu)里可以取到

回答
編輯回答
我甘愿

原因就是react的生命周期。
你為什么要用兩種語法寫呢?
如果子組件是class組件,肯定在didmount中獲取到props的值。
不要在constructor方法中使用this.props字眼,很多瀏覽器不兼容。

2017年6月3日 14:12
編輯回答
裸橙

沒有

constructor(props){
    super(props)
    
}
2017年12月8日 23:36
編輯回答
毀了心

現(xiàn)在都2018年了,不要再使用 createClass getInitialState……,抽空多看看官方文檔,比直接在社區(qū)里提問更好。

2018年7月9日 11:05