Запретить повторную визуализацию с каждым URI для параметров React Router - PullRequest
0 голосов
/ 12 сентября 2018

Учитывая следующий маршрут, если запрос URI добавлен или изменен (т. Е. ?bar2=foo), то MySpecialComponent будет перерисован, даже если он не настроен на захват этих параметров:

<Route exact path="/foo/:bar" render={props => (<MySpecialComponent/>)}/>

Thisвызывает огромное количество повторного рендеринга при использовании повсюду.Как можно игнорировать нежелательные параметры?Т.е. не запускать повторную визуализацию до тех пор, пока мы не заботимся об изменениях (/foo/:bar).

1 Ответ

0 голосов
/ 12 сентября 2018

Я обнаружил, что использование render на route вместе с самой передачей параметров является самым чистым решением (чтобы не загрязнять контейнеры логикой маршрутизатора):

<Route exact path="/foo/:bar" render={props => (
  // Only pass needed props to avoid unnecessary re-render on ANY URI change
  <MySpecialComponent bar={props.match.params.bar}/>
)}/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...