我有以下类,它根据排序下拉列表呈现用户。如果我选择“字母顺序”,用户将按字母顺序列出,当我选择“组”时,将按组顺序列出。
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函数中那样更新状态变量。
怎么做?