0

我正在尝试将 DND 用于 2 个容器。

1) 容器有静态数据形式 axios => 任务列表。2)容器只有设置给用户的任务。

<Container id={1} list={this.props.tasks}/>
<Container id={2} list={this.state.userTasks}/>

当我(通过选择)更改用户时,X => YI 必须刷新Container(2)的数据。

Mythis.state.userTasks令人耳目一新,但子组件Container(2)仍然具有相同的元素。

这是因为我使用构造函数来传递数据。构造函数被调用一次。我知道。

constructor(props) {
        super(props);
        this.state = {cards: props.list};
    }

我不能使用componentWillReceiveProps(nextProps)Container (child) 因为我只需要更新Container(2)并且当我将元素从Container移动到Container(2)时调用此方法

更改用户时如何更新 Container(2) 卡?你有什么想法?

4

1 回答 1

0

我想您可以Container在用户信息更改时重置正在渲染组件的父组件的状态信息

componentWillReceiveProps(nextProps){ if (nextProps.userId !== this.props.userId){ this.setState({userTasks : []})} }

于 2017-04-11T02:28:20.820 回答