【问题标题】:How can i pass a component ref to redux store我如何将组件引用传递给 redux 存储
【发布时间】:2019-07-23 09:52:14
【问题描述】:
constructor(props) {
  super(props);
  this.myRef = React.createRef();
}
render() {
  return <div ref={this.myRef} />;
}

渲染组件后,我可以像这样创建组件引用。我需要的是将此组件 ref 保存在 redux 存储中。我可以将其保留为状态变量,但 redux 会抛出如下错误:

解构不可迭代实例的尝试无效

有没有办法在应用程序中将组件 ref 保存为全局变量?

ref 对象的深拷贝,解析 JSON 字符串不起作用...

【问题讨论】:

  • 您介意解释一下为什么您要这样做吗?
  • 当然,我已经渲染了帖子,根据帖子的内容渲染帖子后,我可能需要更新以前的帖子。如果我有一篇需要更新的帖子,我想将它保存在 redux 商店中。然后我可以在另一个帖子正在渲染时更新它。要发送的代码太多...
  • 这听起来像是违反了反应逻辑,但我找不到其他方法。
  • 您应该编辑随后渲染的 数据,而不是直接编辑渲染的元素。
  • 你不能。我猜。将用于渲染帖子的对象保留在 redux 存储中并对其进行修改,其他帖子将自动重新渲染。

标签: reactjs redux react-redux


【解决方案1】:

你可以在连接中使用 withRef 功能

  export default connect(
  mapStateToProps,
  mapDispatchToProps, null, {withRef: true})(myComponent);

使用 withRef 参考下面的链接示例

sample code link

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-21
    • 2016-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-26
    • 1970-01-01
    • 2019-06-27
    相关资源
    最近更新 更多