Reactjs 通过路由器传递属性

Reactjs 通过路由器传递属性,reactjs,react-native,Reactjs,React Native,这适用于react本机应用程序 我试图通过路由器将属性传递给组件,如下所示: 我有一个按钮,在单独的组件中有一个类似于这样的按钮: _onPress() { this.props.navigator.push(Router.getDealList(this.state.categoryName, this.state.categoryId)); } 路由器定义为: const Router = { getDealList(categoryName, categoryId)

这适用于react本机应用程序

我试图通过路由器将属性传递给组件,如下所示:

我有一个按钮,在单独的组件中有一个类似于这样的按钮:

  _onPress() {
    this.props.navigator.push(Router.getDealList(this.state.categoryName, this.state.categoryId));
  }
路由器定义为:

const Router = {
  getDealList(categoryName, categoryId) {
    return {
      renderScene() {
        let DealList = require('./components/DealList').default;
        debugger;
        return <DealList categoryId={categoryId} />;
      },
      getTitle() {
        return categoryName;
      },
    };
  },
};

我已经尝试过调试这个程序,在我尝试调用
\u onFetch

之前,它似乎都有变量。我在我的React原生应用程序中使用了不同的方法。请耐心等待,这可能会给你一个线索,或者你可以完全采用同样的方式

main.js
中,我有这样一个结构,它可以顺利地处理所有事情

顶层视图:

var Splash = require('./views/splash');
var Signin = require('./views/signin');
var Signup = require('./views/signup');
var Home = require('./views/home');
路线:

var ROUTES = {
    splash: Splash,
    signin: Signin,
    signup: Signup,
    home: Home,
};
导航器看起来像这样。在
renderScene()

var ROUTES = {
    splash: Splash,
    signin: Signin,
    signup: Signup,
    home: Home,
};
render: function(){

    return(
        //Render first view through initialRoute
        <Navigator 
            style={styles.container} 
            initialRoute={{ name: 'home', index: 0 }} 
            renderScene={ this.renderScene } 
            configureScene={ () => { return Navigator.SceneConfigs.PushFromRight; }}
        >
        </Navigator>            
    )
},
renderScene: function(route, navigator){

    //ROUTES['signin'] => SignIn
    var Component = ROUTES[route.name]; 
    return (
        <Component 
            route={route} 
            navigator={navigator} 
            data={route.data}
        />
    );      
}
onPressNewBooking: function(){
    this.props.navigator.push({ name: 'newbooking', data: this.state.rawData })
}