2017-11-17 8 views
1

私はreduxを初めて使いました。ユーザ編集ページに移動するルートを作成しました。また、以下のコードを使用して小道具としてストアと履歴を渡したいと思います。render()を使用しているときにREACTルータがパラメータにアクセスできない

<Route path="/edit/:id" render={({history}) => (
      <EditUser store={store} history={history} /> 
)}/> 

しかし、私はEditUserコンポーネントで(:id)を渡しているパラメータにアクセスできません。私はthis.props.match.params.idを使用してアクセスしようとすると、それは未定義示しているが、私は

<Route path="/edit/:id" component={EditUser}/> 

に私のルートを書き換えた場合、それは動作します。しかし、今、私はケースは私が他を渡すことができないと思います小道具

大変助けになりました。

+0

ストアへのアクセスを得るために反応し、再来のconnect機能を使用することができます''を使ってindex.jsを共有しますか? – Aaqib

+0

はいindex.jsでを使用しています – Arun

答えて

3

matchを使用する場合は、コンポーネントに渡す必要があります。

<Route path="/edit/:id" render={({history, match}) => (
    <EditUser store={store} history={history} match={match} /> 
)}/> 

また、単にすべての小道具を渡すことができます。

<Route path="/edit/:id" render={props => (
    <EditUser store={store} {...props} /> 
)}/> 

それとも は `あなたは`

<Route path="/edit/:id" component={connect(mapStateToProps)(EditUser)}/> 
+0

react-reduxを使用して反応ルータを配線する複数の方法でこの素晴らしい答えをお寄せいただきありがとうございます。私はこれがドキュメントでもっと明白ではないとは思わない... –

関連する問題