同様の問題についていくつかの質問がありましたが、どういうわけか私はあなたの親切な助けを求めています。私は反応するようにかなり新しいですし、最初の答えが助けた後React - 子どもに関数の小道具を送信
Uncaught TypeError: Cannot read property 'props' of undefined"
編集コードを親から子へと機能を送信して、子供からそれを使用しますが、どういうわけか、私はそれを使用したい場合、それは言うしたいです:
var Menu = React.createClass({
links : [
{key : 1, name : "help", click : this.props.changePageHelp}
],
render : function() {
var menuItem = this.links.map(function(link){
return (
<li key={link.key} className="menu-help menu-link" onClick={link.click}>{link.name}</li>
)
});
return (
<ul>
{menuItem}
</ul>
)
}
});
var Admin = React.createClass ({
_changePageHelp : function() {
console.log('help');
},
render : function() {
return (
<div>
<div id="menu-admin"><Menu changePageHelp={this._changePageHelp.bind(this)} /></div>
</div>
)
}
});
ReactDOM.render(<Admin />, document.getElementById('admin'));
申し訳ありませんが、私はちょうどconsole.log( 'help')のどの項目を有効にするかを編集しました。良い答えは、私は関数のパラメータを送信していませんが、私はちょうど関数を有効にしたい、それは動作していない(まだ未定義のエラー)を送信していないという事実に焦点を当てて下に重点を置いた – Ivo
Okは部分的に、あとはどこかにあるようだ。私はまた、次のような変数を作成するために私のシャルドコンポーネントに入れたかった:\tリンク:[ \t \t {key:1、名前: "help"、クリック:this.props.changePageHelp} \t]それは私のエラーが現れる時だからです。子コンポーネントの変数で送信された小道具を使用することはできませんか? – Ivo
以下の答えは、コードの問題のいくつかに対処していますが、 'this'が' prop'プロパティを持たないという事実に関連していると思われるエラーを実際には修正しません。参照されています。 ES6の矢印機能を試してみてください。それはその頭痛を防ぐでしょう。 – Chris