Реакция - повторное рендеринг, когда данные на сервере изменились, но реквизиты не изменились - PullRequest
1 голос
/ 14 апреля 2020

У меня есть компонент, который содержит список товаров для заказа. В настоящее время единственной опорой для компонента является идентификатор заказа, и компонент отвечает за получение списка элементов в состояние и их отображение.

Теперь, если другой компонент добавляет или изменяет элемент в заказе, я хочу перерисовать список элементов, но без изменения идентификатора заказа.

Обычный подход, кажется, заключается в том, чтобы иметь поддельную опору, которая является просто одноразовым значением, которое родитель может изменить, когда компонент должен обновить sh и компонент использует if (prevProps.nonce != this.props.nonce) в методе componentDidUpdate.

Он отлично работает, но мне не нравится тот факт, что мне приходится использовать то, что выглядит как уловка для такого простого случая. Я понимаю, что есть другие альтернативы, такие как вызов forceUpdate(), но опять же документация не рекомендует его использовать.

Должен ли я поднять состояние до родительского, даже если никакие другие компоненты не заботятся о списке элементов? Это кажется наиболее подходящим для React-i sh способом сделать это, но мне не нравится, как он нарушает принцип инкапсуляции ОО.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...