【问题标题】:trying to set the default value of useState with useSelector but it doesn't work尝试使用 useSelector 设置 useState 的默认值,但它不起作用
【发布时间】:2021-09-27 02:52:01
【问题描述】:

我试图使用 useSelector 获取我的状态,当我使用 console.log 时,我完美地获取了我的数据,但是当我尝试将该数据放入 useState 时,我的值保持为空 这是我的代码:

const settings = useSelector((state) => state.getsettings);
console.log("SETTINGS ==>", settings.info);``
const [getValue, setValue] = useState(settings.info.fulfilmentAutoma);

我的“getValue”是空的,而我的“settings.info.fulfilmentAuto”不是!

有什么帮助吗?!

【问题讨论】:

  • useState 只在第一次渲染时初始化,需要使用useState setter 来更新状态值。
  • 我想在获得状态后立即设置useState值你能帮我吗?

标签: reactjs redux react-redux redux-saga use-state


【解决方案1】:

你应该使用useEffect:

useEffect(()=>{
 setValue(settings.info.fulfilmentAutoma);
});

【讨论】:

  • 这是我的 useEffect : useEffect(() => { console.log("STORE SETTINGS..."); dispatch(getSettings()); }, []);我可以在调度时添加 setValue 吗?
  • 如果deps数组为空,表示useEffect只会被执行一次。
  • 是的,我复制了你发给我的 useEffect,但值没有改变:/ 仍然为空
猜你喜欢
  • 1970-01-01
  • 2021-09-06
  • 2019-08-22
  • 2017-11-18
  • 1970-01-01
  • 1970-01-01
  • 2022-01-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多