每次父项呈现

时间:2017-03-16 07:37:24

标签: javascript reactjs

我有一个像这样编写的无状态组件

//stateless component
const ComponentOne = ({ month }) => {
    console.log(month); // print incremental of 1 when I render parent component
}

并从其父级传递月份。

render(){
    return(
        <ComponentOne month={ month }/>
    )
}

它是父母我可以改变月份并将其传递下去。如何在父母每次渲染后检查月份是否不同?使用componentWillRecieveProps?但该组件已成为无状态组件。

1 个答案:

答案 0 :(得分:0)

必须使用哑组件才能进行渲染,并且应该处理主组件中的所有逻辑。

您可以在父组件的功能中验证月份,或者您可以将另一个道具传递给哑组件,该组件将是月份道具的先前值,然后将其比较为

const ComponentOne = ({ month, prevMonth }) => {

    if(month != prevMonth) {
          //do what you want here
    }
    console.log(month); // print incremental of 1 when I render parent component
}

render(){
    return(
        <ComponentOne month={ month } prevMonth={this.state.prevMonth}/>
    )
}