这个ES6给出了一些本机反应方面的问题。我想用纯ES6编写代码,但是编写这个部分会导致错误。
ES5代码
renderScene: function (route, navigator) {
var Component = route.component;
return (
<Component openModal={() => this.setState({modal: true})}/>
)
},其中ES6是:
renderScene(route, navigator) {
var Component = route.component;
return (
<Component openModal={() => this.setState({modal: true}) }/>
)
}我得到了这个错误:

我试图添加bind(这个),但它不起作用。
有人能帮忙吗?Thx预先
编辑:添加完整的类代码
class Navigation extends Component {
constructor(props) {
super(props)
this.state = {
modal: false,
}
}
renderScene(route, navigator) {
var Component = route.component;
return (
<Component openModal={() => this.setState({modal: true}) }/>
)
}
goToOtherRoute() {
//this.refs.navigator.push({newRoute})
}
render() {
return (
<View style={styles.container}>
<Navigator
ref="navigator"
initialRoute={RouteStack.app}
renderScene={this.renderScene}
/>
{this.state.modal ? <Basket goToOtherRoute={this.goToOtherRoute} closeModal={() => this.setState({modal: false}) }/> : null }
</View>
);
}
}发布于 2016-04-21 20:16:21
发布于 2016-04-21 19:20:59
当然,这里是:是的扩展组件。
class Navigation extends Component {
constructor(props) {
super(props)
this.state = {
modal: false,
}
}
renderScene(route, navigator) {
var Component = route.component;
return (
<Component openModal={() => this.setState({modal: true}) }/>
)
}
goToOtherRoute() {
//this.refs.navigator.push({newRoute})
}
render() {
return (
<View style={styles.container}>
<Navigator
ref="navigator"
initialRoute={RouteStack.app}
renderScene={this.renderScene}
/>
{this.state.modal ? <Basket goToOtherRoute={this.goToOtherRoute} closeModal={() => this.setState({modal: false}) }/> : null }
</View>
);
}
}https://stackoverflow.com/questions/36776326
复制相似问题