Reactjs redux逻辑-从mysql分发功能组件
好的,所以我是新来的反应/重复。我正在努力解决调度逻辑。。。我认为这应该登记为一个事件。。。但我不明白为什么不是这样 基本思想是我有一个容器,它显示一个对象列表,其中包含一个特定条目的表单。我从服务器(mysql数据库)获取数据,并对组件进行优化。。。但是log('finished loading')运行,有效负载为。。。然而,调度什么也不做 我觉得我有点不对劲,这是我第一次和redux合作。。。还是有点抓紧救命稻草 在工作容器中Reactjs redux逻辑-从mysql分发功能组件,reactjs,redux,Reactjs,Redux,好的,所以我是新来的反应/重复。我正在努力解决调度逻辑。。。我认为这应该登记为一个事件。。。但我不明白为什么不是这样 基本思想是我有一个容器,它显示一个对象列表,其中包含一个特定条目的表单。我从服务器(mysql数据库)获取数据,并对组件进行优化。。。但是log('finished loading')运行,有效负载为。。。然而,调度什么也不做 我觉得我有点不对劲,这是我第一次和redux合作。。。还是有点抓紧救命稻草 在工作容器中 const store= useStore();
const store= useStore();
const dispatch = useDispatch();
const [loading, setLoading] = useState(false);
useEffect(()=>{
console.log("starting call");
fetch("http://localhost:9000/testAPI")
.then(res=>res.json())
.then(data=>dispatch({type:"populate",payload:data}))
.then((data)=>console.log("finished call",data))
.then(()=>setLoading(false))
},[]);
然后我有一个jobCardSlice文件
import { createSlice } from '@reduxjs/toolkit';
import { ReactReduxContext } from 'react-redux';
export const JobCardSlice = createSlice({
name:"jobs",
initialState:[],
reducers:{
update: state=>{
console.log(state);//to be added
//so this needs to send an async server update
},
reset: state=>{
console.log(state);//to be added
},
materialView:state=>{
console.log(state);//to be added
},
complete:state=>{
console.log(state);//to be added
},
populate:(state,payload)=>{
console.log("populate is up and running!")
console.log(state,payload);
state.jobs = payload;
}
},
});
export const {update, reset,materialView,complete,populate}=JobCardSlice.actions;
export const selectJobs = (state,action) =>{
return state.jobs;
}
export default JobCardSlice.reducer;
操作的类型不是
populate
,而是jobs/populate
(前缀为切片名称),因此调度没有执行任何操作
安装Redux DevTools chrome扩展,它真的很有用,而且更有用,这样您就可以开始使用Redux了。操作的类型不是
populate
,而是jobs/populate
(前缀为片名),因此调度没有做任何事情
安装Redux DevTools chrome扩展,它真的很有用,而且更有用,这样您就可以开始使用Redux了。更改它时什么都不做,它以前启动过-使用控制台日志(populate已启动并运行),所以它一直工作到该点,但不注册状态更改。更改它时什么都不做,它以前启动过-控制台日志(populate已启动并正在运行),因此它一直工作到该点,但它没有注册状态更改。