Как получить текущий маршрут от реакции без реквизита - PullRequest
1 голос
/ 10 марта 2019

Я пытаюсь показать / скрыть кнопку реагирования на основе маршрута.

В home.js я рендерил следующее:

<Route exact path="/" render={()=> <TotalStuff totalStuff={totalStuff} />} />
<Link to="/addStuff"><button>Add Stuff</button></Link>
<Route path="/addStuff" exact component={AddStuff} />

КогдаМаршрут - это "/", он просто отображает компонент addStuff с кнопкой «Добавить материал» и некоторым текстовым содержимым.

Но я хочу скрыть кнопку «Добавить материал» в компоненте AddStuff .

При попытке с именем window.location.pathname оно не обновляется при изменении маршрутизатора.

Также я пытался с withRouter .Но я ищу лучший прямой подход, если таковой имеется.

Спасибо.

1 Ответ

2 голосов
/ 10 марта 2019

Вы можете поместить Link в функцию render prop первого Route компонента, чтобы он не отображался на пути /addStuff.

<Route
  exact
  path="/"
  render={() => (
    <div>
      <TotalStuff totalStuff={totalStuff} />
      <Link to="/addStuff">
        <button>Add Stuff</button>
      </Link>
    </div>
  )}
/>
<Route path="/addStuff" exact component={AddStuff} />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...