react-native 状态中的奇怪问题

Posted

技术标签:

【中文标题】react-native 状态中的奇怪问题【英文标题】:Weird issue in State of react-native 【发布时间】:2022-01-13 14:16:31 【问题描述】:

我在我的 react-native 应用程序中实现了 redux 并且它的工作,我从商店中获得价值并记录它,它就会在那里。问题是当我按下一个按钮并调用一个函数然后在该字段的函数中登录时,它将是空的

这就是我的意思:

const [data, setData] = useState(trolly || ); // trolly from redux store

useEffect(() => 
  if (trolly) 
    console.log('SETTING-DATA::', trolly);
    setData(trolly);
   else 
    getTrolly(trollyId);
   
, [trolly]);



const handleSelect = (id) => 
  console.log('DATA:: ', data);

另外,当我再次刷新页面时,这将起作用

当我登录时,我得到了带有我想要的值的SETTING-DATA,但是当我触发 handleSelect 时,数据将为空。

这怎么可能,我在这里做错了什么

【问题讨论】:

【参考方案1】:

你不需要在你的情况下使用本地状态

import   useSelector  from 'react-redux';
        const data = useSelector((state) => state.trolly);
        
        useEffect(() => 
         getTrolly(trollyId);
        , [trolly]);
        
        const handleSelect = (id) => 
          console.log('DATA:: ', data);
        

【讨论】:

以上是关于react-native 状态中的奇怪问题的主要内容,如果未能解决你的问题,请参考以下文章

在 react-native 中迭代 JSON 数组

reac-native环境搭建

react-native 中的小问题活动指标 |组件 |组件内的道具 |道具 |设置状态

如何将更改的状态发送到 react-native 中的组件?

在 react-native 中使用 aws pinpoint 推送通知

React-Native的一些工程化阻碍