Reactjs 在reducer中的回调中调用self
我有以下减速器:Reactjs 在reducer中的回调中调用self,reactjs,react-native,react-redux,Reactjs,React Native,React Redux,我有以下减速器: export const changeListener = () => (dispatch) => { changeListenerManager.update((res) => { changeListener(); dispatch({ type: 'CHANGE', payload: res }); }); }; 它应该调用changeListener()函数,就在它被回调之后。但是,当响应从本机网桥返回时(网桥接收回调函数并存
export const changeListener = () => (dispatch) => {
changeListenerManager.update((res) => {
changeListener();
dispatch({ type: 'CHANGE', payload: res });
});
};
它应该调用
changeListener()代码>函数,就在它被回调之后。但是,当响应从本机网桥返回时(网桥接收回调函数并存储它,当发生更改时,它使用回调函数通知应用程序),该函数根本不会被调用,也不会出现错误。如果我试图从回调调用该方法(在调试器中),我会得到未定义的信息。如何解决该问题?changeListener
是一个常用函数,因此需要传递第二个所需参数dispatch
例如:
changeListener()(dispatch);
注意:当前逻辑似乎有一个无限循环。changeListener是一个常用函数,因此需要传递第二个所需参数
dispatch
例如:
changeListener()(dispatch);
注意:当前逻辑似乎有一个无限循环。当您调用函数“body”中的
changeListener
时,您需要调用它两次。一次不发送,一次发送:
export const changeListener = () => (dispatch) => {
changeListenerManager.update((res) => {
changeListener()(dispatch); // <--- CHANGE
dispatch({ type: 'CHANGE', payload: res });
});
};
export const changeListener=()=>(分派)=>{
changeListenerManager.update((res)=>{
changeListener()(dispatch);//当调用函数“body”中的changeListener
时,需要调用它两次。一次不使用dispatch,一次使用:
export const changeListener = () => (dispatch) => {
changeListenerManager.update((res) => {
changeListener()(dispatch); // <--- CHANGE
dispatch({ type: 'CHANGE', payload: res });
});
};
export const changeListener=()=>(分派)=>{
changeListenerManager.update((res)=>{
changeListener()(dispatch);//非常感谢您的回答!它确实有无限循环-changeListener识别时区更改,我无法想象它会如此频繁地更改:)很高兴为您提供帮助!:)非常感谢您的回答!它确实有无限循环-changeListener识别时区更改,我无法想象会如此频繁地更改:)很高兴提供帮助!:)