React-native传递组件到另一个组件

时间:2018-01-13 19:14:29

标签: javascript reactjs react-native react-native-android

我想将一个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}

但这不起作用,看起来像传递的参数是错误的。有可能实现吗? 感谢任何帮助。

2 个答案:

答案 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;
}