Реагировать на динамическое падение DropDarget с помощью реквизита
Я пытаюсь использовать DND для 2 контейнеров.
1) контейнер имеет статическую форму данных axios => список задач. 2) у контейнера есть только задачи, которые были заданы пользователю.
<Container id={1} list={this.props.tasks}/>
<Container id={2} list={this.state.userTasks}/>
Когда я меняю пользователя (выбрав), X => Y, мне нужно обновить данные для Container (2).
мой this.state.userTasks
обновляется, но дочерний компонент Container (2) по- прежнему имеет те же элементы.
Это потому, что я использую конструктор для передачи данных. Конструктор вызывается один раз. Я знаю это.
constructor(props) {
super(props);
this.state = {cards: props.list};
}
Я не могу использовать componentWillReceiveProps(nextProps)
в Container (дочерний), потому что мне нужно обновить только Container (2), и этот метод вызывается, когда я перемещаю элемент из Container в Container (2)
Как обновить карты Container (2) при смене пользователя? Есть ли у вас какие-либо идеи?
1 ответ
Я думаю, вы можете сбросить информацию о состоянии родительского компонента, где вы рендеринга Container
компоненты, когда пользовательская информация изменяется
componentWillReceiveProps(nextProps){
if (nextProps.userId !== this.props.userId){
this.setState({userTasks : []})}
}