为了账号安全,请及时绑定邮箱和手机立即绑定

更改工具栏背景颜色并在身体倾斜时做出反应

更改工具栏背景颜色并在身体倾斜时做出反应

Helenr 2022-01-20 17:13:05
我正在尝试将工具栏背景颜色更改为#fff正文滚动时的颜色。否则它将是transparent.这是示例工具栏组件:export default class ToolBar extends React.Component {  constructor(props){    super(props)    this.state = {      scrolled:false    }  }  render() {    const { children, className,scrolled, ...other } = this.props    return (      <nav style={{backgroundColor:this.state.scrolled?'#fff':'transparent'}}>        {children}      </nav>    )  }}我们如何通过反应来做到这一点?
查看完整描述

1 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

只需将事件侦听器添加到窗口对象即可。


componentDidMount() {

   window.addEventListener('scroll', this.checkScroll);

}


checkScroll = () => {

   this.setState({ scrolled: window.scrollY > 0 });

};

注意:您可能还需要一些去抖动以避免快速和多个设置状态。


并记住在组件销毁时断开侦听器。


componentWillUnmount() {

   window.removeEventListener('scroll', this.checkScroll);

}


查看完整回答
反对 回复 2022-01-20
  • 1 回答
  • 0 关注
  • 134 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号