gpt4 book ai didi

javascript - 在多个组件中通过 setState 重用一个函数

转载 作者:行者123 更新时间:2023-11-29 16:38:52 24 4
gpt4 key购买 nike

我的 react 组件中有一个函数需要在另一个文件中使用

class App extends Component{
changeMessageState(message) {
this.setState({
message,
});
}
render(){
return(
<div>hello</div>
);
}

现在,我想在不同的文件中使用 changeMes​​sageState,但我不知道如何导出它。那么,如何才能做到这一点呢?我正在考虑将changeMes​​sageState放在一个单独的文件中,并从两个地方调用它,即在 react 组件内和仅从那里的另一个文件中。问题是,如果我把它放在一个单独的文件中,那么“this”指的是什么?它不再引用该组件,对吗?那么,我该如何实现这一点呢?

编辑以解释更多:实际上,我有一个单独的文件,我正在其中使用 firebase 登录当登录过程出现错误时,我想在那里设置错误消息并将其显示在应用程序组件中。所以,我想在 firebase 登录函数内使用 App 内的changeMes​​sageState,因此可以从那里设置错误消息。这就是我想要实现的目标。

最佳答案

您可以将 this 作为参数传递:

function changeMessageState(component, message) {
component.setState({
message,
});
}

// then in your components
changeMessageState(this, message)

关于javascript - 在多个组件中通过 setState 重用一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48415887/

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