2016-06-17 17 views
1

そこで、問題の例を説明します。Reactクラスから自動バインド関数にアクセスする方法は?

var func = function(e){alert(this.props.val)}; 
var inner = <button onClick={func}>Click me</button>; 

var Comp = React.createClass({ 
    func, 
    render: function(){ 
     return inner; 
    } 
}); 

ReactDOM.render(<Comp val="testing"/>,document.getElementById("container")); 

ここでの問題は、私はReact.createClass(外コンポーネントを宣言しておりますので、である)、ボタンに渡されるのonClickは、クラスの自動バインド機能ではありませんので、私は持っていません。コンポーネントのthisへのアクセス、したがって私は小道具にアクセスすることはできません。

とにかくこれには?
私はコンポーネントを外部に宣言しなければならないことを忘れないでください。

私は反応のgithubページで提起した問題へのリンクです。 Link

答えて

1

stateless functionを作成します。

var func = function(e){alert(this.props.val)}; 
var Inner = (props) => <button onClick={props.func}>Click me</button>; 

var Comp = React.createClass({ 
    func, 
    render: function(){ 
     return <Inner func={this.func}/>; 
    } 
}); 
+0

アメージングソリューションを!あなたはどう思いましたか?ありがとう! –

関連する問題