2017-11-26 29 views
0

私はReact with Reduxを使用しており、この問題があります。React-Redux - 子コンポーネントからアクションをディスパッチするにはどうすればよいですか?

EditorContainer.jsxを::EditorContainer.jsx内

<Provider store={store}> <Editor></Editor> </Provider>

派遣のアクションが正常に動作します

まず私はstoreを紹介してレンダリングするEditorContainerコンポーネントを作成しています。

しかし、私はまた私のEditor.jsxでいくつかのアクションを派遣したいので、私は:

Editor.jsx

class Editor extends React.Component { 
    componentWillMount() { 
    store.dispatch(doSomething()); 
    } 

    render() { 
    return (
     // code 
    ); 
    } 
} 

const mapStateToProps = state => ({ 
    somethingPayload: somethingPayload 
}); 

export default connect(mapStateToProps)(Editor); 

そしてもちろん、私は捕捉されないにReferenceErrorを取得しています:ストアがあります定義されていません行番号3にあります。

connectstore & dispatch私の場合はコンポーネントですか?

答えて

2

store.dispatchの代わりにthis.props.dispatchを使用する必要があります。これは、dispatch関数が小道具を通過するためです。

+0

私はあなたと結婚します。ただ聞いてください。聖なる牛(9分であなたの答えを受け入れることができます)。だからシンプルで、私はこれで半日を無駄にしたよ、ああ! :( – Wordpressor

+0

ありがとう、幸せに助けて! –