繁体   English   中英

如何在React Native中使用来自另一个类的参数调用函数?

[英]How to call a function with parametrs from another class in react native?

我想在一个屏幕上显示Side_Drawer上列出的不同屏幕。 我不想为每个屏幕创建相同的布局更改,因此,当用户单击列表时,屏幕的中心部分将相应更改,其他布局将保持不变。

这是我的屏幕A,其中状态随着索引的变化而变化。

   class ScreenA extends Component {
      constructor(props) {
        super(props)
        this.state = { index: 0 }; // default screen index
      }
          switchScreen(index) {
            this.setState({ index: index })
          }
      render() {
        let AppScreen = null;

        if (this.state.index == 0) {
          AppScreen = Screen1
        } else if (this.state.index == 1) {
          AppScreen = Screen2
        } else if (this.state.index == 2) {
          AppScreen = ScreenC        }

        return (
          <Drawer ref={(ref) => { this.drawer = ref; }}
            content={<Side_Drawer navigator={this.navigator} />}
            onClose={() => this.closeDrawer()} >
             <Container>    
             <Button
                onPress={() => this.switchScreen(1)}/>

<AppScreen />
             <Containert/>        
            </Drawer>  
        );
      }
    }

这是我的Side_Drawer,它是ScreenA抽屉上的列表,我想从此处更改屏幕A的switchScreen函数的索引以及要显示屏幕C的列表的onPress。

class Side_Drawer extends Component {
  render() {
    return (
      <Container>
        <Content>
            <ListItem  >
              <Text onPress={()=>this.props.navigation.navigate('ScreenC')}>Goto Screen C</Text>
            </ListItem>
        </Content>
      </Container>
    );
  }
}

module.exports = withNavigation(Side_Drawer);

我想要一个单屏幕应用程序,其中屏幕的仅所需部分会更改,否则将保持不变。

传递参数使用。

您可以将其移至侧边菜单,因为您有要移至AppScreen的屏幕数据。

content={<Side_Drawer navigator={this.navigator} move={AppScreen} />}

Side_Drawer 强文本

<Text onPress={()=>this.props.navigation.navigate(this.props.move)}>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM