私はreduxとApiの呼び出しで作業用Webバージョンを取得し、Reactネイティブアプリに移植しています。しかし、私はAPI呼び出しを行うためにサンクをディスパッチしようとすると、ディスパッチを確認するために自分のサンクにコンソールログが表示されないように見えます。これは、私が何かが適切に接続されていないと思うが、私はそれが何かを見ていない。私は何が欠けていますか?react-reduxサンクのapiコールを呼び出さない
初期状態のストアを作成します。store.getState()
がすべて正常に表示されます。
const initialState = {
config: fromJS({
apiUrl: "http://localhost:3000/account-data",
})
}
const store = createStore(
reducers,
initialState,
compose(
applyMiddleware(thunk),
)
)
は私がmapDispatchToPropsを使用して、私は私が私のloadProducts
機能を検査するとき、私は派遣を確認コンソールログが表示されない、小道具
export function mapDispatchToProps(dispatch) {
return {
loadProducts:() => dispatch(loadProducts())
};
}
の私のリスト内の関数を参照してください。何が起きてる? loadProductsがディスパッチしないのはなぜですか?ウェブ版では、ネットワークリクエストとログを確認できます。 React Nativeについてネットワークリクエストやこれらのコンソールログは表示されません。
export function loadProductsCall() {
console.log('in RN loadProductsCall') //don't see this
const opts = constructAxpOpts();
return {
[CALL_API]: {
types: [
LOAD_REQUEST,
LOAD_SUCCESS,
LOAD_FAILURE
],
callAPI: (client, state) =>
client.get(`${state.config.get('apiUrl')}/members`, opts),
shouldForceFetch:() => false,
isLoaded: state => !!(state.core.resources.products.get('productsOrder') &&
state.core.resources.products.get('productsOrder').length),
getResourceFromState: (state) => state.core.resources.products.toJS(),
isLoading: state => !!state.core.resources.products.get('isLoading'),
getLoadingPromise: state => state.core.resources.products.get('loadingPromise'),
payload: {}
}
};
}
export function loadProducts() {
console.log('in loadProducts') //don't see this
return (dispatch) =>
console.log('in loadProducts dispatched 2') //don't see this either
dispatch(loadProductsCall())
.then((response) => {
return response;
});
}