我已经开始学习React Native,并且一如既往地创建可重用的组件 . 我学会了如何在创建自定义组件时传递和访问道具 .
我想在React Native中创建一个基本屏幕,它具有公共属性,我的应用程序中的所有屏幕都可以设置,例如 Headers .
下面我正在为我的应用程序的主页创建一个新的屏幕
class APCComponent extends Component {
constructor(props) {
super(props);
}
render() { //dummy function, will always get overridden in the child
return (
<View />
);
}
}
export default class Home extends APCComponent {
//I somehow want to pass a string to the parent APCComponent
//and want APCComponent use it to set the Header of the navigation
constructor() {
super({ title: 'Home' });
}
//Right now the following works, but in case I use a different type of Navigation,
//I'll have to change all components. By just setting a string, I'm allowing my base
//component to display the header
static navigationOptions = { title: "Home" }; //from react-navigtion's StackNavigator
render() {
return <Button title="Sample Button" />;
}
}
谢谢
2 回答
在
HomeScreen
的构造函数中,props应该能够传递给BaseComponent
对你起作用吗?
其中
Header
组件也是一个单独的可重用组件 .你需要将道具(在我们的例子中是'title')从上层组件传递到基层组件,如上例所示 .