React update - невозможно обновить компонент изнутри тела fn другого компонента - PullRequest
0 голосов
/ 05 августа 2020

Я читал похожие вопросы и даже открыл проблему с github, но мне все еще не удалось понять, что с этим может быть не так.

После обновления версии RN с 0.61 до 0.63 я начал чтобы получить это предупреждение почти для всех действий redux, которые выбрасывает мое приложение. Они не следуют никакому шаблону, и предупреждения срабатывают практически везде.

Некоторые примеры срабатывания предупреждений:

UNSAFE_componentWillReceiveProps(nextProps) {
    ...
    if (this.props.vehicle?.id !== nextProps.vehicle?.id) {
      this.props.setNavigationCoordinates(null); // this is a redux action triggered from a lifecycle hook of a class component, warning appears
    }
UNSAFE_componentWillReceiveProps(nextProps) {
    ...
    if (this.props.auth.user?.location_id
      !== nextProps.auth.user?.location_id) {
      this.saveZone(this.state.configs.cities.find(
        (city) => city.id === nextProps.auth.user?.location_id,
      ));
    }

saveZone = (city) => {
    ...
    this.props.saveZones(city.nogo, bufferedZone, city.noparking, city.relocation); //redux action, warning triggered, although FN called only from the lifecycle hook.
  }
const renderVehicles = () => {
  ...
  props.updateDisplayedVehicles(vehiclesToDisplay.map((v) => v.props.vehicle)); // redux action, warning triggered
}

return (
  {(condition && renderVehicles()) || null}
)

Это предупреждение I ' м получаю всегда:

Предупреждение

Любая помощь с этим c будет очень признательна. Я могу понять, почему он выдает предупреждение в последнем случае (хотя для его устранения потребуется изменить способ работы компонента), но я не понимаю, почему он срабатывает в первых двух случаях.

Спасибо за заранее!

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