React - обновить пользовательский интерфейс с помощью методов жизненного цикла или React Router? - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть приложение React, которое отображает различные «экраны» данных для пользователя.Данные отображаются в SVG сторонней библиотекой, и пользователь может изменять содержимое холста, используя элемент управления select.Это представляет собой полное «обновление» приложения с отображением новых данных (извлеченных из поддерживаемого API).

Я управляю всем этим с помощью методов жизненного цикла компонентов класса React стандартным способом - используя componentDidMount чтобы получить мои исходные данные, настроить стороннюю библиотеку и выполнить первоначальный рендеринг SVG.Когда пользователь использует элемент управления select для обновления приложения, я использую componentDidUpdate, чтобы проверить, изменилось ли определенное состояние, а затем очистить и перерисовать мой SVG.Это хорошо работает, но у меня также есть много других компонентов на разных уровнях в иерархии, которые должны выполнить эту проверку.Поэтому мне интересно, есть ли лучший способ справиться с этим.

Первоначально это было приложение Backbone, где обновление приложения означало разрушение старого представления и создание совершенно нового.Хотя этот процесс был уродливым и громоздким, он, по крайней мере, казался семантически согласованным с опытом пользователя.Есть ли React-эквивалент этого?Я знаю о использовании ключей для полного обновления компонентов.Но это похоже на уловку, а не «путь» Реакта.Я рассматривал React Router в качестве возможного решения, хотя я очень мало знаю об этом - это хороший вариант использования для этого?

...