reactjs - 如何将 isConnect 状态传递给其他类
问题描述
现在我有App.js
我的初始页面。
我想从net_provide.js
.
如果isConnected
为真,则APP.js
显示renderLoadingView()
如果不是,则APP.js
显示renderDisconnectView()
如下代码但我不知道如何将 isConnected 从传递net_provide.js
到APP.js
任何人都可以帮助我吗?谢谢!
应用程序.js
renderLoadingView() {
_aesDecryptWithMode(_aesEncryptWithMode('test'))
getFcmToken()
return (
<View style={ styles.container }>
<NetworkNotifier
offlineText="無網路連線"
onlineText="網路已連線"
position="top" />
<Network_provider/>
<Text>
Loading Events....
{ '\n' }
</Text>
</View>
)
}
renderDisconnectView() {
return (
<View style={ styles.container }>
<Network_provider/>
<Text>
diss
{ '\n' }
</Text>
</View>
)
}
问题在这里 this.props.Connected
render() {
return (
if (this.props.isConnected) {
return this.renderLoadingView();
}
if (!this.props.isConnected) {
return this.renderDisconnectView();
}
}
下面是network_provider.js
export class Network_provider extends React.PureComponent {
state = {
isConnected: true
};
componentDidMount() {
NetInfo.isConnected.addEventListener('connectionChange', this.handleConnectivityChange);
}
componentWillUnmount() {
NetInfo.isConnected.removeEventListener('connectionChange', this.handleConnectivityChange);
}
handleConnectivityChange = isConnected => {
if (isConnected) {
this.setState({
isConnected
});
} else {
this.setState({
isConnected
});
}
};
render() {
return <App Connected={ this.state.isConnected } />;
}
}
解决方案
您可以为此使用Function as Children模式。
network_provider.js
render() {
const { children } = this.props;
const { isConnected } = this.state;
return children && children({isConnected});
}
应用程序.js
<Network_provider>
{({isConnected}) => {
if(isConnected) return this.renderDisconnectView();
return this.renderLoadingView();
}
}
</Network_provider>
推荐阅读
- r - 如何在R中找到列的中位数
- routes - 检查路由参数是否等于 sidebar.blade.php 中的“值”
- flutter - Flutter Cupertino 文本字段大小错误
- virtualbox - 在我的 Mac OS 上的虚拟机上缺少 fedora 64 位选项?
- node.js - Sequelize - 嵌套在哪里?
- java - Android 11 存储访问和 Java 文件库
- python - 将 PYWEBIO 转换为公共网址
- sql - 更改 Beekeeper SQL 上的“钱”符号
- object-detection-api - 使用 CenterNet HourGlass104 1024x1024 的对象检测器出现问题
- javascript - 突出显示表格中的搜索文本错误