【问题标题】:Changed incoming props not rerendering react-sortable-hoc list更改传入的道具不重新渲染 react-sortable-hoc 列表
【发布时间】:2021-01-08 02:05:53
【问题描述】:

我目前正在尝试将 react-sortable-hoc 添加到列表组件中,当我通过道具更改传入的项目列表时遇到了许多错误。例如:如果我向数组中添加一个项目,并且我检查列表的传入道具,可排序组件中的道具正在更改(我看到列表组件道具中的新项目),但我无法获取重新渲染的组件。我尝试过 shouldComponentUpdate、getDerivedStateFromProps、使用 PureComponent 而不是 Component、forceUpdate、hook 整个事情并为 props 的任何更改设置 useEffect,没有任何事情导致重新渲染,我知道新列表正在进入组件。

是否有其他人遇到同样的问题,或者有没有人找到解决方法?

这是我设置道具/状态的方式,以及我如何知道道具正在改变:

class MobileListItems extends Component {

  state = {
    items: this.props.listItems,
  }

.
.
.

  render() {

    console.log('this.props.listItems', this.props.listItems)
    console.log('this.state.items', this.state.items)

在我对一些东西进行排序并尝试添加另一个项目后,this.props.listItems 会增加 1,但无论我尝试过上述哪种方法都不会重新渲染。

【问题讨论】:

    标签: reactjs material-ui react-sortable-hoc


    【解决方案1】:

    哎呀雏菊!不要将你的道具复制到状态中,你们。不要像我一样!

    删除状态管理并将其变成一个函数,修复了我遇到的所有错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-24
      • 2021-07-13
      • 1970-01-01
      • 2018-02-15
      • 2020-03-10
      • 2021-09-01
      • 2021-12-04
      • 1970-01-01
      相关资源
      最近更新 更多