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

如何将 state 属性设置为 false

如何将 state 属性设置为 false

慕的地8271018 2021-06-29 01:16:46
我正在检查用户是否在小于 768px 的设备上,如果他们是我想将 isTop 设置为 false。我遇到了一些问题。一切看起来都很好,但我不断收到此错误:类型错误:_this2.state.isTop 不是函数我在做什么:componentDidMount() {    this.updateWindowDimensions();    window.addEventListener('resize', this.updateWindowDimensions);    document.addEventListener('scroll', () => {        const isTop = window.scrollY < window.innerHeight - 50;        if (isTop !== this.state.isTop) {          this.setState({ isTop })        }    });    this.checkWidth = () => {        const match = window.matchMedia(`(max-width: 768px)`);        if (match) {            this.state.isTop(false);        }    };    this.checkWidth();    window.addEventListener('resize', this.checkWidth);}任何帮助,将不胜感激
查看完整描述

2 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

您将isTop状态设置为 false 的语法似乎不正确。(来源:文档

试试这个

this.setState({isTop: false});


查看完整回答
反对 回复 2021-07-01
?
互换的青春

TA贡献1797条经验 获得超6个赞

您需要在构造函数中声明状态


constructor(props) {

    super(props);

    this.state = {isTop: false}

}

设置状态


this.setState({

    isTop: "YourValue"

});

获取


this.state.isTop;

不像你那样


this.state.isTop(false);


查看完整回答
反对 回复 2021-07-01
  • 2 回答
  • 0 关注
  • 288 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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