2017-08-04 13 views
0

react-router-4さんのヒストリープッシュメソッドで情報を渡すにはどうすればよいですか?react-router-4のhistory.push経由でいくつかのコンテンツを渡すことはできますか?

  • ユーザーのリストをレンダリング
  • 、ユーザ情報に渡さ
上のユーザーベースをレンダリング私は新しい urlへの直接たいユーザーをクリックして、特定のユーザー情報を渡すとき

私はこれについて考えると、別の質問が出てきました。もしユーザーの情報を渡すことができれば、Reactはユーザーの情報を保持していますか?

<List> 
    {users.map(user => 
    <ListItem 
     key={user.id} 
     thumb={use.img} 
     arrow="horizontal" 
     onClick={() => this.handleUserClick(user)} 
    > 
     {user.nickname} 
    </ListItem> 
)} 
</List> 
handleUserClick = (user) => {this.props.history.push(`/user/${user.id}`)} 

答えて

0

これは "こんにちはボブ"

ドンを示すべき

const User = ({history}) => <span>Hello {history.location.state.userName}</span> 

をあなたはhistory's push

handleUserClick = (user => { 
    this.props.history.push(`/user/${user.id}`, {userName: 'Bob'}); 
}) 

でいくつかの状態を渡すことができます。そして、あなたはあなたのコンポーネントから履歴にアクセスすることができますしかしこれを乱用し、状態を親反応成分またはbのいずれかに保つことを好むあなたのアプリケーションがもっと複​​雑になるなら、reduxやmobxのようなライブラリを使ってください。

+0

さらに質問があります。私は 'props.location.state.userName'のuserNameも見ましたが、これらの間には何か違いはありますか?この特定の使用法では、どのようにしてこの状態を親コンポーネントに保持できますか?私はまだ 'redux'でこの情報を渡す方法がわからない、もう少し詳しい情報を教えてくれますか? – Liuuil

+0

おそらく同じです。州の管理については、https://facebook.github.io/react/docs/state-and-lifecycle.htmlとこの1つ(第1セクション)https:// facebookを参照してください。 .github.io/react/docs/lifting-state-up.html。次に、新しい問題をブロックされている場合は、別の質問をすることができます。 –

関連する問題