我有以下类,它根据排序下拉列表呈现用户。如果我选择“字母顺序”,用户将按字母顺序列出,当我选择“组”时,将按组顺序列出。
render(){
return(
const {members, sort} = this.state
{ sort === "alphabetical" && <SortByAlphabet members={members} /> }
{ sort === "group" && <SortByGroup members={members}/> }
)
)
在<SortByAlphabet />
组件中,我在componentWillReceiveProps()
函数中从 props.members 设置组件状态对象。
componentWillReceiveProps = props => {
this.setState({ members : props.members });
}
当我选择“组”排序时,<SortByAlphabet />
组件正在卸载并<SortByGroup />
安装在 DOM 中。当我再次切换回“按字母顺序”排序时,之前在<SortByAlphabet />
组件中设置的状态变量(成员)变为 NULL,因为该组件已从 DOM 中删除。
componentWillReceiveProps
重新渲染<SortByAlphabet />
b' 因为props没有改变时,函数不会第二次触发。但是我想像我第一次在componentWillReceiveProps
函数中那样更新状态变量。
怎么做?