Reactjs 通过路由器传递属性
这适用于react本机应用程序 我试图通过路由器将属性传递给组件,如下所示: 我有一个按钮,在单独的组件中有一个类似于这样的按钮: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)
_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 })
}