Reactjs react-尝试将redux数据获取到组件中时出现redux工具箱应用程序问题
我正在尝试将redux数据添加到组件中,当我尝试检查redux数据时,我在console.log中遇到以下问题,有人能帮我解决这个问题吗 我的redux切片在下面。请检查粗体线,它似乎是导致问题的原因,但不确定为什么会发生这种情况Reactjs react-尝试将redux数据获取到组件中时出现redux工具箱应用程序问题,reactjs,redux,ecmascript-6,react-redux,redux-toolkit,Reactjs,Redux,Ecmascript 6,React Redux,Redux Toolkit,我正在尝试将redux数据添加到组件中,当我尝试检查redux数据时,我在console.log中遇到以下问题,有人能帮我解决这个问题吗 我的redux切片在下面。请检查粗体线,它似乎是导致问题的原因,但不确定为什么会发生这种情况 import { createSlice } from '@reduxjs/toolkit'; import alladds from '../auth/ads.json' export const addsSlice = createSlice({ nam
import { createSlice } from '@reduxjs/toolkit';
import alladds from '../auth/ads.json'
export const addsSlice = createSlice({
name: 'adds',
initialState: {
alladds: alladds
},
reducers: {
addalladds: state => {
state.alladds = alladds
},
},
});
export const { addalladds } = addsSlice.actions;
export const selectAddSlice=state=>state.addsSlice.alladds
export default addsSlice.reducer;
这是我的反应组件
import React,{useState, useEffect} from "react";
import { useSelector } from 'react-redux';
import {selectAddSlice} from './features/auth/addsSlice'
const Addtocart = () => {
const selectAddSlice1 = useSelector(selectAddSlice);
const [alladd, setAlladds] = useState(selectAddSlice1)
useEffect(() => {
console.log(selectAddSlice + "ffffff")
},)
return (
<div>
{alladd.map((add) => (
<div key={add.id}>
<div> {add.addname}</div>
<div> {add.price}</div>
</div>
))}
</div>
);
};
export default Addtocart;
import React,{useState,useffect}来自“React”;
从'react redux'导入{useSelector};
从“./features/auth/addsSlice”导入{selectAddSlice}
常量Addtocart=()=>{
const selectAddSlice 1=useSelector(selectAddSlice);
const[alladd,setAlladds]=useState(selectAddSlice1)
useffect(()=>{
console.log(选择AddSlice+“ffffff”)
},)
返回(
{alladd.map((add)=>(
{add.addname}
{add.price}
))}
);
};
导出默认Addtocart;
这是redux中的json数据
[
{
“addname”:“normaladd”,
“价格”:“23”,
“id”:“1”
},
{
“addname”:“advancedadd”,
“价格”:“50”,
“id”:“2”
},
{
“addname”:“Premiumad”,
“价格”:“100”,
“id”:“3”
}
]您不需要将Redux Store数据复制到React local state,您可以直接使用组件中的任何位置。只要Redux存储区中的数据发生更改,组件就会重新呈现
const selectedAdds = useSelector(selectAddSlice)
// This is not required
// const [alladd, setAlladds] = useState(selectedAdds)
useEffect(() => {
console.log(selectedAdds)
}, [selectedAdds])
// If you want to see this log, put selectedAdds in dependency array
// So that the Hook will run whenever selectedAdds is changed
return (
<div>
{selectedAdds.map((add) => (
...
const [alladd, setAlladds] = useState([]) // Line 1
useEffect(() => {
setAlladds(selectedAdds)
// Set in State whenever selectedAdds is changed; Not
// just once at the Line 1 (as initial value of state)
}, [selectedAdds])
return (
<div>
{alladd.map((add) => (
...