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结构里可以取到

阅读 2k
3 个回答

没有

constructor(props){
    super(props)
    
}

原因就是react的生命周期。
你为什么要用两种语法写呢?
如果子组件是class组件,肯定在didmount中获取到props的值。
不要在constructor方法中使用this.props字眼,很多浏览器不兼容。

现在都2018年了,不要再使用 createClass getInitialState……,抽空多看看官方文档,比直接在社区里提问更好。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题