javascript - ReactJS 将状态从父级传递给子级

标签 javascript reactjs

我有以下内容,想知道是否有更优雅的方式来传递 this.state.currentSection状态为 <HeaderButton /> ?:

...
render() {
        return <div>
            <div className="section" style={this.state.currentSection === 'SPECIAL' ? {} : {'opacity': '0.4'}}>
                <HeaderButton active={this.state.currentSection === 'SPECIAL'} text="Special" count={23} backgoundColor={'#c04c36'} onClick={this.setActiveSpecial}/>
            </div>
...

最佳答案

你可以像这样在 render 方法中解构 this.state

render() {
  const { currentSection } = this.state;
  const isActive = (currentSection === 'SPECIAL');
  return (
   <div className="section" style={isActive ? {} : {'opacity': '0.4'}}>
     <HeaderButton active={isActive} text="Special" count={23} backgoundColor={'#c04c36'} onClick={this.setActiveSpecial}/>
   </div>
  );
}

关于javascript - ReactJS 将状态从父级传递给子级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54548547/

相关文章:

reactjs - 使用 Styled Components 的条件样式

javascript - 将主干模型绑定(bind)到 Marionette ItemView - 阻塞 .fetch()?

react-native - 为什么没有使用 React Native Router Flux + Redux 触发 React Native Drawer?

reactjs - React 的 GET 上的 Axios 回调

reactjs - 如何模拟 react 自定义钩子(Hook)返回值?

javascript - 如果属性(property)不存在

javascript - AngularJS 在 Adob​​e AIR 中看不到内部部分和资源

javascript - angularjs函数的调用顺序是什么(config/run/controller)?

c# - 在 asp.net (javascript) 中创建自定义的 "Yes/No"警报框 - 第 2 部分

javascript - Raspberry Pi 上的 Web 界面