Реагировать на динамическое падение 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 : []})} }

Другие вопросы по тегам