使用React Hooks使用对象更新状态

第四

我正在从中获取数据Firebase并想要更新state

const [allProfile, setAllProfile] = useState([]);
.....
const displayProfileList = async () => {
        try {

            await profile
                .get()
                .then(querySnapshot => {

                    querySnapshot.docs.map(doc => {
                        const documentId = doc.id;                        
                        const nProfile = { id: documentId, doc: doc.data()}                        
                        console.log(nProfile);//nProfile contains data
                    
                        setAllProfile([...allProfile, nProfile]);
                        console.log(allProfile); // is empty
                    }
                    );

                })
        } catch (error) {
            console.log('xxx', error);
        }
    }

setAllProfile迭代完成后会更新状态。因此,为了使您的代码正常工作,您需要将回调函数传递给,setAllProfile文档所示

setAllProfile((prevState) => [...prevState, nProfile])

更新

在工作中演示此示例

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 React Hooks 更新状态数组

React Hooks:使用useState更新状态不会立即更新状态

使用React Hooks更新状态数组的所有对象元素

为什么使用 React Hooks、MomentJS 对象和间隔/超时更新状态不会触发重新渲染?

使用promise Hooks React JS跟踪组件外部状态的更新

使用react-hooks在状态更新时执行异步代码

如何使用 Redux 定期更新和 React Hooks 处理状态?

使用useMemo在渲染期间更新React Hooks状态

使用Hooks替换而不是concat在React上更新数组状态

我的状态没有使用React Hooks更新

React hooks - 从数组中删除多对象并更新状态

使用React Hooks更新嵌套对象中的值

使用 React Hooks 更新值

使用 Hooks 在 React 中设置点击事件的时间间隔不会使用更新的状态值

为什么我的状态没有使用 react hooks 更新并使用 Effect

如何使用React更新数组中对象的状态?

使用 React 更新状态对象数组中的特定值

使用React useState()钩子更新和合并状态对象

如何使用React Redux更新处于“状态”的对象?

React钩子:如何使用useState()更新嵌套对象上的状态?

使用React中的reducer通过动态构造的对象更新状态

React Hooks,状态未更新

使用React Hooks重置为初始状态

如何通过React Hooks使用Redux状态

使用Hooks重用状态

使用状态 React 更新列表

React Hooks-在没有事件处理程序的情况下使用props更新状态

UI无法使用React Hooks和表单提交在状态更新时重新呈现

使用 React Native 和 Hooks 时,状态不会在 Jest 测试期间更新