我想从A
组件到B
组件A
。 B
和B
是不同的JS文件。我尝试将A
导入B
并访问B
内的功能。还要使this
中的函数变为静态,然后才发现静态函数没有实例,所以我无法访问静态中的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);
。
A.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);
B.js
{{1}}
答案 0 :(得分:3)
答案 1 :(得分:1)
您应该将它们包装到另一个容器组件中。
ContentC.js
class ContentC extends React.Component {
constructor(props) {
super(props);
this.state = {
contentA:'',
contentB: ''
}
}
SetContentA(){
this.setState({contentA:'123'});
}
SetContentB(){
this.setState({contentB:'123'});
}
render(){
return(
<ClassA content={this.state.contentA} />
<ClassB content={this.state.contentB}/>
);
}
}
现在,您可以使用props.contentA
和props.contentB