2017-02-28 13 views
0

dispatchを非コンポーネントファイルに呼び出そうとしています。Redux:ディスパッチ機能をインポートするにはどうすればよいですか?

私の問題は、私はReduxの-佐賀を使用しようとしているが、私が私が定義する必要があり、コールバック関数の内部でyieldキーワードを使わせないということである。

peerConnection.onicecandidate = (event) => { 
    if (event.candidate) { 
     yield put({ type: videoSessionActions.SEND_LOCAL_CANDIDATE, payload: event.candidate }); 
    } 
    } 

だから私は何をしたいですそのように、昔ながらのdispatchを代わりに行うために使用されます。import { dispatch } from 'redux';への道は

peerConnection.onicecandidate = (event) => { 
    if (event.candidate) { 
     dispatch({ type: videoSessionActions.SEND_LOCAL_CANDIDATE, payload: event.candidate }) 
    } 
    } 

ありますか?

これは私の佐賀の私のジェネレータ機能ですべて起こっています。私がredux-observableを使用していない理由は、それがまだ更新できないネイティブのv0.40.0 +を必要とするからです。

答えて

0

確かにこれを行う方法はたくさんありますが、this issueで見ることができます。

あなたがしなければならない主なものは、connectこのような店にごコンポーネントです:

export default connect()(Controls);またmapStateToProps機能になりますconnect機能への最初の引数を提供することができます。これを行うと、コンポーネントの外でこのようなことを行うことができます(全世界)

let createHandlers = function(dispatch) { 
    let peerConnection.onicecandidate = function(event) { 
    if (event.candidate) { 
     dispatch({ type: videoSessionActions.SEND_LOCAL_CANDIDATE, payload: event.candidate }) 
    }; 
    } 

    return { 
    peerConnection.onicecandidate, 
    // other handlers 
    }; 
} 

乾杯!

関連する問題