我想将一个React组件传递给我的CustomTab组件。 所以我有这样的事情:
const FirstRoute = () => <View style={[ styles.container, { backgroundColor: '#ff4081' } ]} />;
const SecondRoute = () => <View style={[ styles.container, { backgroundColor: '#673ab7' } ]} />;
export default class Profile extends Component {
_renderScene = SceneMap({
first: FirstRoute,
second: SecondRoute,
});
render() {
return (
<CustomTab scenes={this._renderScene}/>
);
}
在我的CustomTab中,我有:
export default class CustomTab extends React.Component {
_renderScene = this.props.scenes;
render() {
return (
<TabViewAnimated
style={styles.container}
navigationState={this.state}
renderScene={this._renderScene}
但这不起作用,看起来像传递的参数是错误的。有可能实现吗? 感谢任何帮助。
答案 0 :(得分:0)
您的语法错误,您需要在渲染中分配_renderScene
变量或constructor
但是您无需将this.props.scenes
分配给另一个类变量,您可以直接使用它
export default class CustomTab extends React.Component {
render() {
return (
<TabViewAnimated
style={styles.container}
navigationState={this.state}
renderScene={this.props. scenes}
答案 1 :(得分:0)
您应该在构造函数或其他反应组件生命周期方法中设置_renderScene
属性,例如。
constructor(props) {
super(props);
this._renderScene = this.props.scenes;
}