Сбой связывания: SyntaxError Неожиданный токен, ожидаемая реакция
renderScene ={SceneMap({
'1':() => <FirstRoute {...this.state.data}/>,
'2':() => <SecondRoute {...this.state.data,...this.props.navigation}/>
вот полный код
render() {
if(!this.state.loading){
return (
<View
style={{
flex: 1,
}}>
<StatusBar
backgroundColor="mediumpurple"
barStyle="light-content"/>
<TabView
style={styles.container}
navigationState={this.state}
renderScene ={SceneMap({
'1':() => <FirstRoute {...this.state.data}/>,
'2':() => <SecondRoute {...this.state.data, ...this.props.navigation}/>,
})}
renderHeader={this._renderHeader}
onIndexChange={index => this.setState({ index })}
/>
</View>
);
}else{
return (
<View style={styles.loadingContainer}>
<ActivityIndicator size="large" color="#0000ff" />
</View>
);
}
}
}
1 ответ
Это {...a, ...b}
не является выражением javascript, поэтому он выдает ошибку " Неожиданный токен".
Вы можете использовать один из следующих:
<SecondRoute {...{...this.state.data,...this.props.navigation}} />
const mergedObjects = {...this.state.data,...this.props.navigation}
<SecondRoute {...mergedObjects}/>
<SecondRoute {...this.state.data} {...this.props.navigation} />