gpt4 book ai didi

javascript - React Native - 不同JS文件之间的setState

转载 作者:行者123 更新时间:2023-11-28 14:44:41 26 4
gpt4 key购买 nike

我想将 setStateA 组件设置为 B 组件。 AB 是不同的 JS 文件。我尝试将 B 导入到 A 并访问 B 内的函数。还有将B中的函数设为静态,然后才发现静态函数没有实例,所以无法访问静态中的this

A.js

import B from '../B';
class A extends React.Component {
ChangeBContent(){
B.SetContent();
}

render(){
return(
<View>
<SpeicalBtn onPress={()=> this.ChangeBContent()}/>
</View>
);
}
}

module.exports = A;
AppRegistry.registerComponent('myApp', () => A);

B.js

class B extends React.Component {
constructor(props) {
super(props);
this.state = {
content:''
}
}

SetContent(){
this.setState({content:'123'});
}

render(){
return(
<View>
<Text>{this.state.content}</Text>
</View>
);
}
}

module.exports = B;
AppRegistry.registerComponent('myApp', () => B);

最佳答案

你可以做肮脏的把戏,但我认为你需要更干净的方法。

这是您使用状态管理库的地方,例如 redux在那里你有一个全局商店,你可以调度操作。你可以看看这个stackoverflow post

关于javascript - React Native - 不同JS文件之间的setState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46825849/

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