私はonChange
は現在Reactで関数をバインドするときにイベント引数を渡すには?
onChange={() => { this.props.someFunc(this.props.someVal, e.target.checked) }
あるinput
HTMLタグを、持っているしかし、私は(私はインライン関数を避けたい)ES-糸くずno-bind
ルールに従うことをしたい、と私はhadlingの問題を抱えていますこのonChange関数の引数。私が持っている私のコンストラクタで
:
constructor() {
super();
this.state = {
// some state
};
this._onChangeHandler = this._onChangeHandler.bind(this);
}
_this.onChangeHandler = (event, val) => {
this.props.someFunc(event.target.checked, val);
}
render() {
<div>
{
this.props.inputs.map((x) => {
const someValue = // ...a calculated value
return (
<label
}>
<input
onChange={ this._onChangeHandler(someValue) } // need BOTH someValue and the event
checked={ aBool }
type="checkbox"
value={ anotherValue }/>
<span>{ textHere }</span>
</label>
);
})
}
</div>
}
を私はこれまでthis postを見て、ない幸運を撮影しました。 の値とイベントをバインドされた関数に渡すためには、何をする必要がありますか?
これはインライン関数です。私が記事で言ったように、私はそれを避けたい。 – AlanH
私の悪い、ルールがインライン関数を意味しないことを知らなかった。 onClickハンドラで新しいコンポーネントを作成することはできます。これらの[es-lint protips]の2番目の例を確認してください(https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-bind.md#protips) – Fleezey
はい、それは私が従おうとしていることです。しかし、イベントと付加価値の両方をどのように扱うかは明確ではありません。 – AlanH