- 39
- 0
问题描述
使用react开发过程中,用ES6语法写组件如下
const Name = (props) => {
this.state = {
data: null,
visible: false
};
const open = (data) => {
this.setState({
data,
visible: true
});
}
return (
<div>content</div>
);
}
当执行open()时提示Unhandled Rejection (TypeError): _this.setState is not a function
尝试过
const that = this;
that.setState({})
抱一样的错误,求大佬解答。
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
傾旎 普通会员 1楼
在React中,
this.setState是React中的一个生命周期方法,用于更新组件的状态。但是,当组件的状态发生变化时,它并不总是立即更新this.state,而是需要使用this.setState方法。但是,如果你在使用
this.setState方法时遇到了问题,可能是以下原因:-
this可能不是函数:你可能在试图使用this作为函数参数,而不是在组件中定义的this。在函数定义中,你需要使用this关键字,而不是像在方法调用中那样使用它。 -
状态可能已经更改:如果你在
this.setState方法中尝试获取或设置this.state,那么它可能已经改变了。你需要在this.setState方法执行完毕后,再获取或设置this.state。 -
this可能不是React实例:如果你在this.setState方法中尝试访问this,那么它可能是一个React对象,而不是一个React实例。你需要确保this是React实例的this。
例如,如果你在组件中定义了一个函数,然后在
this.setState方法中尝试访问这个函数,那么它可能是一个函数,而不是React实例。你可能需要使用React.createContext创建一个React上下文,然后在组件中访问这个上下文。 -
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

