に反応します関数が呼び出される方法に問題はありますか?キャッチされない例外TypeErrorは私が反応成分を含むこの小型でシンプルなスクリプトを作成したコンポーネント
0
A
答えて
3
あなたは、関数にthis
をバインドする必要があります。
{this.props.content.map(function(user, i) {
return (
<tr key={i}>
<td>{user.name}</td>
<td>{user.surname}</td>
<td>{user.birthday}</td>
<td>{user.userName}</td>
<td>{user.userRole}</td>
<td><button onClick={this.handleRedirection.bind(null, user.userName)}>Open</button></td>
</tr>
);
}.bind(this))}
1
あなたが直接handleRedirection()
を呼び出して、イベントハンドラの代わりに、関数として戻り値を渡しています。
代わりに、イベントがトリガされた後にのみhandleRedirection()
を呼び出すための関数への呼び出しをラップ:
<button onClick={function() {this.handleRedirection(user.userName)}.bind(this)}>
1
は、私はあなたのために、このデモを用意しました:http://codepen.io/PiotrBerebecki/pen/ZpBwWzは
あなたは作成onClick={this.handleRedirection.bind(null, user.userName)}
に使用することができますレンダリングしないで新しい関数。またuser.userName
が最初の引数として渡されます。
var UsersList = React.createClass({
handleRedirection: function(userName) {
console.log(userName);
window.location = '/user/' + userName;
},
render: function() {
return (
<table>
<tbody>
<tr>
<th>Name</th>
<th>Surname</th>
<th></th>
</tr>
{this.props.content.map((user, i) => {
return (
<tr key={i}>
<td>{user.name}</td>
<td>{user.surname}</td>
<td><button onClick={this.handleRedirection.bind(null, user.userName)}>Open</button></td>
</tr>
);
})}
</tbody>
</table>
)
}
});
関連する問題
- 1. はキャッチされない例外TypeErrorに反応:this.state.messages.mapが機能
- 2. キャッチされない例外TypeError:キャッチされない例外TypeError体験にaddEventListener
- 3. キャッチされない例外TypeErrorは:
- 4. キャッチされない例外TypeErrorは:undefinedprintQuote
- 5. キャッチされない例外TypeError:$(...)bxSliderは
- 6. キャッチされない例外TypeErrorは:ヌル
- 7. 外部スクリプト:キャッチされない例外TypeError
- 8. キャッチされない例外TypeError - JavaScriptの
- 9. jQueryのキャッチされない例外TypeError:
- 10. キャッチされない例外TypeError:React.createClassが反応成分を製造するために機能
- 11. キャッチされない例外TypeError:
- 12. THREE.js - キャッチされない例外TypeError
- 13. キャッチされない例外TypeError:$(...)関数
- 14. キャッチされない例外TypeError:機能
- 15. キャッチされない例外TypeError:私のgetTile機能
- 16. javascriptをキャッチされない例外TypeErrorは:Chromeで未定義
- 17. は、ルータ4 TypeError例外に反応:レンダリング私はこのようなネストされたルートを作成しようとしている機能
- 18. キャッチされない例外TypeError:人は、私がグーグルのチュートリアルを介した小さな例を作ってるんだコンストラクタ
- 19. キャッチされない例外TypeError:(t.data ||「」)私は、角に新しいです機能
- 20. 私がキャッチされない例外TypeErrorを得る:私は</p> <p>捕捉されない例外TypeErrorを取得し、私が終わるOrbitControlsのインスタンスを作成するために行くとき、私はそれを
- 21. 反応したホットローダーが定型コンポーネントで動作しない
- 22. Material-ui反応しない成分が反応しない
- 23. キャッチされない例外TypeError:不正な呼び出し
- 24. リーフレット-DVF + ReactJs:キャッチされない例外TypeErrorは:プロパティを読ん
- 25. キャッチされない例外TypeErrorオブジェクトは、アプリケーションの私の以前のバージョンで
- 26. jQueryの - キャッチされない例外TypeErrorは:未定義
- 27. キャッチされない例外TypeError:$(...)モーダルは、関数jqueryの
- 28. キャッチされない例外TypeErrorは:hook.applyコードスニペットの下
- 29. reactjsのToDoリスト - キャッチされない例外TypeErrorは:未定義
- 30. キャッチされない例外TypeError(約束で):すでに私はこのエラーを得た
、また、直接 'handleRedirection'を呼び出してはならない、それがあるべきである:' <ボタンのonClick = {関数(){this.handleRedirection(user.userName)}}>開く ' –
いや、または<ボタンonClick = {this.handleRedirection.bind(null、user.userName)}}>開く –