列表中新添加的项目不会在 React 中重新渲染组件

普热梅克·基亚克

在使用 socket.io 添加/删除/出售项目的每个请求之后,函数 refreshItems() 被调用,它只是将状态设置为数据库中的新项目。一切正常,但有时在添加 6-7 个项目后,表格不刷新。添加了项目,我可以在数据库中和刷新页面后看到它。问题可能来自哪里的任何想法?项目有github;https://github.com/przemekkijak/hypehub/tree/refactor

      function refreshItems() {
        socket.emit('getCurrentItems', data => {
          setCurrent(data);
        })
        socket.emit('getSoldItems', data => {
          setSold(data);
        })
      }

苏海尔·阿什拉夫

由于这是一个异步函数,请在 setState 中使用回调函数并更新状态。

像这样。

function refreshItems() {
        socket.emit('getCurrentItems', data => {
          setCurrent( pre => data);
        })
        socket.emit('getSoldItems', data => {
          setSold(pre => data);
        })
      }

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Redux中更改状态后,React组件将不会重新渲染

避免在React中重新渲染子组件

react-native:更新setstate数组中的元素不会重新渲染组件

React组件不会在道具更改时重新渲染

嵌套的React Router组件不会在页面重新加载时加载/渲染吗?

React不会在自定义挂钩中重新渲染状态更新时的所有组件

如何避免在React中重新渲染组件?

Mobx不会重新渲染React组件

React组件正在重新渲染从状态中移除的项目

React功能组件中的重新渲染逻辑

React不会在道具更改时重新渲染

在 React 中重新渲染 AppBar 组件

React/Redux 组件不会重新渲染

React 组件不会在 setState({}) 上重新渲染

React 组件的地图不会在状态变化时重新渲染

React 子组件不会在状态更新时重新渲染

当道具更改时,React 子组件不会重新渲染

React List 组件不会重新渲染新列表

React 组件重新渲染

React useContext 不会在状态更改时重新渲染

React 组件重新渲染

React 16.13.1 - 当 props 改变时子组件不会重新渲染

React Native 不会在 DOM 更改时重新渲染

为什么在 React 中,当父组件重新渲染时,子组件不会重新渲染(子组件没有被 React.memo 包裹)?

当 props 改变时,React 组件不会重新渲染

React 功能组件不会在状态更改时重新渲染

为什么 mobX 操作不会触发 React 组件的重新渲染

Route 不会在 React 中渲染组件

当数组状态发生变化时,react 不会在 array.map 中重新渲染组件