2016-07-29 5 views
1

私は映画のリストに基づいてフィルタコンポーネントを構築しています。私はほとんどそこにいる。私は自分の行動、減速機、コンポーネントを設定しました。私のReact/redux開発ツールを見ると、すべてのことは大丈夫だと思われます。しかし、私は適切に自分の行動を派遣することはできません。ここでOnChange値をディスパッチする方法は? eは定義されていませんエラーReact/redux

は私のコンポーネントイベントです:

<div> 
    Year: 
    <select 
    defaultValue={selectedYear} 
    onChange={e => onChangeYear(e.target.value)} 
    > 
    <option value="all" >All</option> 
    {years.map((y, i) => 
     <option key={i} value={y}>{y}</option> 
    )} 
    </select> 
</div> 

、ここでは私のディスパッチャです:

const mapDispachToProps = (dispatch) => { 
    return { 
    onChangeYear:() => {dispatch (onYearChange(e.target.value)); 
     }, 
    }; 
}; 

onYearChangeだけでなく、インポートとよく私のアクションコンポーネントに定義されています。 e.target.valueをエラーなしでディスパッチャに渡すにはどうすればよいですか?

ありがとうございました。

答えて

3

選択したonChange属性を={onChangeYear}に設定するだけで、ディスパッチャではeをパラメータとして受け入れるように変更します。

const mapDispachToProps = (dispatch) => { 
    return { 
     onChangeYear:() => {dispatch (onYearChange(e.target.value)); 
    }, 
}; 

const mapDispachToProps = (dispatch) => { 
    return { 
     onChangeYear: (e) => {dispatch (onYearChange(e.target.value)); 
    }, 
}; 
+0

おかげとなります。私は、あなたのディスパッチャがパラメータとしてEを受け入れることにあなたに従っていません。 –

+0

私は自分の答えを更新して、パラメータが不足していた場所を表示しました。 – John

+0

Ok。私はこのようなものを試しました:)しかし、なぜ人々はレベルコンポーネントで 'onChangeYear(e.target.value)'を使用していますか? –

関連する問題