Redux:如何导入调度功能?
问题描述:
我试图在非组件文件中调用dispatch
。Redux:如何导入调度功能?
我的问题是,我试图用终极版,传奇,但它没有让我用一个回调函数内的yield
关键字,我必须定义:
peerConnection.onicecandidate = (event) => {
if (event.candidate) {
yield put({ type: videoSessionActions.SEND_LOCAL_CANDIDATE, payload: event.candidate });
}
}
我想那么什么做的,而不是用普通的旧dispatch
像这样:
peerConnection.onicecandidate = (event) => {
if (event.candidate) {
dispatch({ type: videoSessionActions.SEND_LOCAL_CANDIDATE, payload: event.candidate })
}
}
有没有办法来import { dispatch } from 'redux';
?
顺便说一句,这一切都发生在我的发电机功能在我的传奇。我不使用redux-observable的原因是因为它需要反应本机v0.40.0 +,我不能更新
答
当然,有很多方法可以做到这一点,在this issue你可以看到如何。
你必须做的主要事情是connect
您的组件这样的商店:
export default connect()(Controls);
您还可以提供第一个参数connect
功能,这将是mapStateToProps功能。如果你这样做,你将能够在你的组件之外做这样的事情(全局)
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
};
}
干杯!