0
エラーが発生しました私のアプリケーションがデバッグモードのときにオブジェクト '#'の読み取り専用プロパティ 'navigator'に割り当てることはできません。 私は全体のコードを通過しましたが、落とし穴がある理由を知ることができず、私はそれを解決しませんでした。私の親クラスの実装はオブジェクト '#<DedicatedWorkerGlobalScope>'の読み取り専用プロパティ 'navigator'に割り当てることができません。
class MainPage extends Component {
render() {
return (
<Navigator ref={(nav) => { navigator = nav; }}
initialRoute={{id: 'SplashPage', name: 'SplashPage'}}
renderScene={this.renderScene.bind(this)}
configureScene={(route) => {
if (route.sceneConfig) {
return route.sceneConfig;
}
return Navigator.SceneConfigs.FloatFromRight;
}} />
);
}
renderScene(route, navigator) {
var routeId = route.id;
if (routeId === 'SplashPage') {
return (
<SplashPage
navigator={navigator} {...route.passProps} />
);
}
if (routeId === 'Login') {
return (
<Login
navigator={navigator} {...route.passProps} />
);
}
return this.noRoute(navigator);
}
noRoute(navigator) {
return (
<View style={{flex: 1, alignItems: 'stretch', justifyContent: 'center'}}>
<Text style={{color: 'red', fontWeight: 'bold'}}>Please check you Navigation Logic</Text>
</View>
);
}
};
module.exports = MainPage;
私の子クラスの実装では、私もこの問題を持っていた、
class Login extends Component {
constructor(props) {
super(props);
this.state = { username: '',password:'' };
}
render() {
return (
<Navigator ref={(nav) => { navigator = nav; }}
renderScene={this.renderScene.bind(this)}
navigator={this.props.navigator}
navigationBar={
<Navigator.NavigationBar style={styles.container}
routeMapper={NavigationBarRouteMapper} />
} />
);
}
validateLogin() {
if(!Validators.validateOnlyText(this.state.username)) {
alert('User ID cannot be blank');
return;
}
if(!Validators.validateOnlyText(this.state.password)) {
alert('Password cannot be blank');
return;
}
var webServiceName=WebserviceHelper.Constants.POST_AUTHENTICATION;
var valuesJson= { "UserId" : this.state.username, "Password" : this.state.password };
WebserviceHelper.postValues(webServiceName, valuesJson, this);
}
postWebCallback(webResponse){
navigator.parentNavigator.replace({
id: 'Home',
passProps: {
'userId': this.state.username,
'userNo' : this.state.webResponse.userNo
});
module.exports = Login;
はい。あなたが正しいです。私は同じだった。 – Tirth