我对整个react-native/redux世界都很陌生,也许这个问题听起来很愚蠢:)
我知道对于API调用或类似的东西,惯例是通过中间件来做到这一点,但它总是必要的(它增加了很多样板).
我成功地在reducer中添加了异步方法来管理设备API连接,例如In-App或Local Notifications,但我想知道以这种方式处理它是否可行.
例如在我的reducer中有这样的方法:
function initInApp(state, itemSkus){
init(state, itemSkus);
return {
...state,
itemSkus: itemSkus,
}
}
Run Code Online (Sandbox Code Playgroud)
而这个管理异步部分:
async function init(state, itemSkus){
try {
if( !state.isInit ){
const prepare = await Promise.all(RNIap.prepareAndroid());
return{
...state,
isInit: true,
errorCode: false,
}
}
else {
return ...state;
}
} catch (errorCode) {
return{
...state,
isInit: false,
errorCode: errorCode,
itemSkus: itemSkus
}
}
}
Run Code Online (Sandbox Code Playgroud)
也许它在性能方面效率不高或难以维护.你有什么想法?
谢谢 :)