gpt4 book ai didi

javascript - React - 使用状态之外的函数设置组件状态,这是错误的吗?

转载 作者:行者123 更新时间:2023-12-03 11:20:47 24 4
gpt4 key购买 nike

在 React 组件之外的函数中使用 setState 有错吗?

例子:

// myFunction.js
function myFunction() {
...
this.setState({ ... })
}

// App.js
import myFunction from './myFunction

class App extends Component {
constructor() {
super()
this.myFunction = myFunction.bind(this)
}

...
}

最佳答案

我不确定你绑定(bind)的方式是否真的有效。您可以执行以下操作:

export const getName = (klass) => {
klass.setState({ name: 'Colin'})
}

然后
class App extends Component {
state = {
name: 'React'
};

handleClick = () => {
getName(this);
}

render() {
return (
<div>
<p>{this.state.name}</p>
<button onClick={this.handleClick}>change name</button>
</div>
);
}
}

工作示例 here .

关于javascript - React - 使用状态之外的函数设置组件状态,这是错误的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50090636/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com