首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反应-本机(ES5)到(ES6)

反应-本机(ES5)到(ES6)
EN

Stack Overflow用户
提问于 2016-04-21 17:11:39
回答 2查看 537关注 0票数 1

这个ES6给出了一些本机反应方面的问题。我想用纯ES6编写代码,但是编写这个部分会导致错误。

ES5代码

代码语言:javascript
复制
renderScene: function (route, navigator) {
       var Component = route.component;
       return (
           <Component openModal={() => this.setState({modal: true})}/>
       )
   },

其中ES6是:

代码语言:javascript
复制
renderScene(route, navigator) {
    var Component = route.component;
    return (
        <Component openModal={() => this.setState({modal: true})  }/>
    )
}

我得到了这个错误:

我试图添加bind(这个),但它不起作用。

有人能帮忙吗?Thx预先

编辑:添加完整的类代码

代码语言:javascript
复制
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>
        );
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-21 20:16:21

声明renderScene如下:

代码语言:javascript
复制
renderScene = (route, navigator) => {
  //code
}

还有其他选择,我已经把它们写下来了,here

票数 4
EN

Stack Overflow用户

发布于 2016-04-21 19:20:59

当然,这里是:是的扩展组件。

代码语言:javascript
复制
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>
        );
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36776326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档