javascript - react : Update child with parent state change

标签 javascript reactjs

我很确定我在这里遗漏了一些非常明显的东西,但似乎无法让它发挥作用:

我有一个调用两个子组件的父组件。

家长

<PropertyCard model={property} onMouseOver={this.handlePropertyCardHover.bind(this, property)} />
<Map markers={places} options={mapOptions} activeRef={this.state.hoveredCard} />

当我将鼠标悬停在 PropertyCard 上时,会调用一个函数来更新父项中的 hoveredCard 状态。

家长

handlePropertyCardHover = (property) => {
    this.state.hoveredCard = property.id;
}

这部分有效,我可以看到父状态正在更新,但当它传递给第二个子状态时,Map没有任何更新。

map

<h1>{this.props.activeRef}</h1>

我错过了什么?

最佳答案

当你想改变你的状态时,你必须使用this.setState。

this.setState({hoveredCard : property.id})

而不是

this.state.hoveredCard = property.id;

关于javascript - react : Update child with parent state change,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37096265/

相关文章:

reactjs - NextJS 服务器根据客户端输入获取数据

javascript - Vue.js - 在 onload 上访问组件方法

JavaScript 对象属性赋值

PHP 如何让我的文本输入接受单引号或双引号

javascript - useLocation 钩子(Hook)即使在硬刷新时也能保持状态

javascript - 在页面刷新上调用的是哪个生命周期方法?

javascript - 在 Material UI 中使用样式设置 <Box/> 类型的方法

javascript - 在 JavaScript 中插入数组

Javascript 在 onclick 函数之前也显示表单

javascript - setState 不清除选定的值 - React