【发布时间】:2020-06-08 13:09:41
【问题描述】:
我在分派后在useEffect 侧分派动作我想从 redux 状态获取状态并将其传递给组件内的本地状态但问题是每当我尝试这样做时它要么进入无限循环,要么没有完全设置状态。我不知道如何解决这个问题。任何帮助都会很棒。
这是我的代码。
const [tableData, setTableData] = React.useState([]);
const DataReceived = (state) => <--- Here I am getting state from store.
state.AllUsers.Seller.sellerDetails.data._embedded;
const selectedData = useSelector(DataReceived, shallowEqual);
const selectedDataAgain = selectedData
? selectedData.vendorUserResourceList
: null;
console.log("selectedDataAgain", selectedDataAgain); <--- this one is working this shows array of data.
console.log("selectedDataAgainTable", tableData);
const { GetUserLoadVendors } = props;
React.useEffect(() => {
const access_token = localStorage.getItem("access_token");
GetUserLoadVendors(access_token); <--- this is the actions
setTableData(selectedDataAgain); <--- here am trying to set State
}, []);
当我在 useEffect 中添加可选的第二个参数(如 [GetUserLoadVendors, selectedDataAgain])时,它会进入无限循环。如果我不添加任何依赖项,它不会设置状态。
【问题讨论】:
标签: reactjs redux react-redux