首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从父子组件更新组件中的属性

从父子组件更新组件中的属性
EN

Stack Overflow用户
提问于 2018-06-23 23:07:07
回答 2查看 38关注 0票数 1

在我的应用程序的根目录中,我有一个包含图像的Header组件。根目录还包含一个Page组件,该组件根据Route保存不同的内容。

Header组件有一个名为HeaderImage (url)的属性,我希望能够从页面组件更新HeaderImage (url)。

有没有人建议一个好的方法,我只是想在头部组件中添加一些逻辑,根据路由来切换HeaderImage (url),但我想要更多的灵活性。理想情况下,我希望能够从Page组件的子组件中更新图像。

EN

回答 2

Stack Overflow用户

发布于 2018-06-23 23:18:56

您可以将url传递给root,然后让root使用如下所示的属性更新它的头部:

代码语言:javascript
复制
class Root extends React.Component {
  render() {

    constructor(props){
      super(props);

      this.state={
        urlForHeader : null
      }

      this.updateUrl = this.updateUrl.bind(this);
    }

    function updateUrl(url){
      this.setState({
        urlForHeader : url
      })
    }

    return (
      <div>
        <Header
          url={this.state.urlForHeader}
        />
        <PageContent
          updatingFunction={this.updateUrl}
        />
      </div>
    );
  }
}
票数 0
EN

Stack Overflow用户

发布于 2018-06-24 00:26:02

也许你需要的是在你的组件中实现componentWillUpdate,请参阅这个文档。

React js ComponentWillUpdate

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51002423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档