我想在代码中添加自定义svg图像以进行加载,直到响应来自调用的api。
我尝试添加标志,但是不起作用。
请帮助我如何添加要加载的svg图像。我处于React和Redux的学习阶段。 我有processChatMessage用于请求api调用。
reducer.js就像:
$docker_cid = getenv('DOCKER_CID');
action.js如下:
const processChatMessage = (state, action) => {
console.log("[reducer]", action.type);
const { messages } = state;
const { message } = action.payload;
const newMessages = [...messages, message];
return { ...state, messages: newMessages };
};
const commitChatMessageRequest = processChatMessage;
const commitChatMessageSuccess = processChatMessage;
const commitChatMessageError = processChatMessage;
// Hub Reducer
const ChatMessageReducer = (state = initState, action) => {
let newState;
switch (action.type) {
case types["CHAT/MESSAGE_REQUEST"]:
newState = commitChatMessageRequest(state, action);
break;
case types["CHAT/MESSAGE_SUCCESS"]:
newState = commitChatMessageSuccess(state, action);
break;
case types["CHAT/MESSAGE_ERROR"]:
newState = commitChatMessageError(state, action);
break;
default:
newState = state;
}
return newState;
};
export default ChatMessageReducer
答案 0 :(得分:0)
由于您是这里的新手,请迅速提醒:仅“它不起作用”是永远不够的。确实尝试描述预期的行为(您做到了)以及当前的行为。例如,在这里我不知道发生了什么: onProcess 是否随时设置为true?您可能未在代码中成功实现图像本身吗? ...如此多的可能性。
无论如何,我什至在您的代码中都看不到对API的任何调用,因此再次很难看到错误的出处...
但积极的一面,我发现您有很好的直觉,可以在商店中使用 onProcess 布尔值,我想跟踪待处理请求的状态。 / p>
现在您需要实现的逻辑是1个动作和3个reducer:
FetchChatMessage :首先调用 IsFetching reducer将您的 onProcess 传递给True,然后调用您的API,然后在应答时调用 OnChatMessageSucces reducer(如果成功),或者 OnChatMessageFail (如果失败)以及在每种方法上将您的onProcess设置为false。
以下是您实际尝试做的一个简单示例:https://jsfiddle.net/ibobcode/fgk917bz/5/
.