Задать вопрос

Как правильно вывести данные из JSON в React-router/Redux, на новой стр., соответствующие текущему id?

Это корневой файл, собственно как настроить динамический роутинг?
Для таблицы, чтобы это был не Link и не Button, а событие onClick для всей строки таблицы.
Перешерстил все. Доки, форумы.... ничего внятного не нашел.
ReactDOM.render(
  <Provider store={store}>
    <Router history={history}>
      <Route name="app" path="/" component={App}>
        <IndexRoute name="app:home" component={Home} onEnter={requireAuth} />
        <Route name="app:infos" path="information" component={ListPage} onEnter={requireAuth} />
        <Route name="app:info" path="information/:id" component={InfoPage} onEnter={requireAuth} />
      </Route>
    </Router>
  </Provider>,
  document.getElementById('root'),
);
  • Вопрос задан
  • 441 просмотр
Подписаться 1 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 1
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
showInfoPage(e) {
  const id = e.currentTarget.id
  // далее нужно вызвать сам переход
  // я делаю это через push из react-router-redux ( import { push } from 'react-router-redux' )
  // можно прокинуть через dispatch
  dispatch(push('/information/'+id))

  //конечно, у вас dispatch скорее всего будет прокинут из props, поэтому финальный вариант
  this.props.dispatch(push('/information/'+id))  
}

<tr onClick={showInfoPage} id={infos.id}>
     <td key={infos.id}>{infos.id}</td>
     <td key={infos.about}>{infos.about}</td>
</tr>


p.s. вместо id, можете использовать data-* атрибуты, и доставать их через e.currentTarget.dataset.*
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы