Javascript 禁止更新连接到redux状态的子组件
我正在使用react和redux制作一个应用程序。我想阻止子组件在父组件中更新,即使它们独立连接到状态Javascript 禁止更新连接到redux状态的子组件,javascript,html,reactjs,web,react-redux,Javascript,Html,Reactjs,Web,React Redux,我正在使用react和redux制作一个应用程序。我想阻止子组件在父组件中更新,即使它们独立连接到状态shouldComponentUpdate不会阻止此操作。这有可能吗?可能像缓存子对象的预渲染版本一样?我不需要它是互动的,甚至不需要滚动。我只需要它在视觉上是一样的 代码示例: class SomeComponent extends Component { constructor() { super() this.state = { dontReload: false }
shouldComponentUpdate
不会阻止此操作。这有可能吗?可能像缓存子对象的预渲染版本一样?我不需要它是互动的,甚至不需要滚动。我只需要它在视觉上是一样的
代码示例:
class SomeComponent extends Component {
constructor() {
super()
this.state = { dontReload: false }
}
render() {
return (
<div>
<SomeStateConnectedComponent />
</div>
)
}
}
class SomeComponent扩展组件{
构造函数(){
超级()
this.state={dontReload:false}
}
render(){
返回(
)
}
}
如果
dontReload
为真,如何使连接状态的组件不更新 您是否可以导出
所基于的非连接组件,然后将一些伪道具(包括()=>{}
之类的回调)传递给该组件,并使用该组件而不是连接的版本?这将创建并显示该组件的非更新版本
因为听起来你会被迫改变
中的代码(至少会给它传递一些额外的道具),只是为了这个(看起来)非常小的用例
编辑:要与state.dont一起使用,可以执行条件渲染,如
return this.state.dontReload ?
<NonConnectedComponent fakeProp={42} /> :
<SomeStateConnectedComponent />
是否返回this.state.dontReload?
:
为什么不应该在这里更新组件?如果您使用的是redux,那么可能您使用的是mapStateToProps
,因此属性相等(或您想要使用的任何逻辑)检查应该完全可以。嘿@user5505266如果我的回答有误解或者您想澄清您的问题,请随时通知我。:)