程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何修复 React Native 上的重复后端调用问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何修复 React Native 上的重复后端调用问题?

开发过程中遇到如何修复 React Native 上的重复后端调用问题的问题如何解决?下面主要结合日常开发的经验,给出你关于如何修复 React Native 上的重复后端调用问题的解决方法建议,希望对你解决如何修复 React Native 上的重复后端调用问题有所启发或帮助;

我们在我们的项目中使用了 mongoDB 和 redux。当我们导航到一个页面时,获取我们想要从 redux 存储中检索的播放器的 ID 并将其传递给组件。下面的屏幕截图显示了我的 console.log 到这家商店的 ID。我们还获得了玩家的属性和详细信息。奇怪的是我们在页面上看不到我们的结果。但是,如果我们返回并再次进入该页面,并且执行此操作正好 3 次,则会得到结果。我使用 console.log 进行跟踪,我看到在单个页面加载中我得到了这个 console.log s 三次。这是一个非常奇怪的问题,我们无法理解为什么会发生这种情况。是因为导航、redux 还是其他原因?我将输出粘贴到代码下的单个页面加载上。

const { ID } = route.params;
console.log(" on players detail page ID is: " + ID);

const dispatch = usedispatch();

useEffect(() => {
    dispatch(playerCardActions.getPlayerCardInfo(ID));
    dispatch(playerAttributeActions.fetchPlayerAttributes(ID));
},[dispatch]);

const playerCard = useSELEctor(
    (statE) => state.playerCardStore.SELEctedplayerCard
);
console.log(" on players detail page playercard is: " + playerCard);

const playerAttribute = useSELEctor(
    (statE) => state.playerAttributeStore.SELEctedplayerAttribute
);

console.log(" on players details page playerattr is: " + playerAttributE);

在玩家详细信息页面 ID 是:604a8e1d83a1a09b8a61afb9

在玩家详情页面 playercard 是:[object Object],[object Object],[object Object]

在玩家详情页面 playerattr 是:[object Object]

在玩家详细信息页面 ID 是:604a8e1d83a1a09b8a61afb9

在玩家详情页面 playercard 是:[object Object]

在玩家详情页面 playerattr 是:[object Object]

在玩家详细信息页面 ID 是:604a8e1d83a1a09b8a61afb9

在玩家详情页面 playercard 是:[object Object]

在玩家详情页面 playerattr 是:[object Object]

您可以在下方找到商店代码

import ReduxThunk from "redux-thunk";
import { applymIDdleware,combineReducers,createStore } from "redux";
import { composeWithDevTools } from "redux-devtools-extension";

import playerCardReducer from "./reducers/playerCard-reducer";
import playerAttributeReducer from "./reducers/playerAttribute-reducer";
import playerStatisticsReducer from "./reducers/playerStatistics-reducer";
import playerDetailsReducer from "./reducers/playerDetails-reducer";
import playerReducer from "./reducers/player-reducer";

const rootReducer = combineReducers({
    playerCardStore: playerCardReducer,playerAttributeStore: playerAttributeReducer,playerStatisticsstore: playerStatisticsReducer,playerDetailsstore: playerDetailsReducer,playerStore: playerReducer,});

const mIDdleware = composeWithDevTools(applymIDdleware(ReduxThunk));
export default createStore(rootReducer,mIDdlewarE);

我还添加了下面的减速器代码之一

import {
    CREATE_PLAYER_DETAILS,GET_DETAILS_OF_PLAYER,updatE_PLAYER_DETAILS,} from "../actions/playerDetails-action";
import PlayerDetails from "../../models/PlayerDetails";

const initialState = {
    SELEctedplayerDetails: null,};

export default (state = initialState,action) => {
    switch (action.typE) {
        case GET_DETAILS_OF_PLAYER:
            return { SELEctedplayerDetails: action.SELEctedplayerDetails };
        case CREATE_PLAYER_DETAILS:
            const newDetails = new PlayerDetails(
                action.SELEctedplayerDetails.playerID,action.SELEctedplayerDetails.phone,action.SELEctedplayerDetails.email,action.SELEctedplayerDetails.height,action.SELEctedplayerDetails.weight,action.SELEctedplayerDetails.playerCardID,action.SELEctedplayerDetails.attributesID,action.SELEctedplayerDetails.statisticsID
            );

            return (state.SELEctedplayerDetails = newDetails);
        case updatE_PLAYER_DETAILS:
            const updatedDetails = new PlayerStatistics(
                action.SELEctedplayerDetails.playerID,action.SELEctedplayerDetails.statisticsID
            );
            return (state.SELEctedplayerDetails = updatedDetails);
    }
    return state;
};

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的如何修复 React Native 上的重复后端调用问题全部内容,希望文章能够帮你解决如何修复 React Native 上的重复后端调用问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:如何修复