如何在React Native的另一个组件中使用ref?

库尔希德·安萨里(Khurshid Ansari)

我在我的应用程序中使用了react native mpaboxgl。

import MapboxGL from "@mapbox/react-native-mapbox-gl";


<MapboxGL.MapView
  logoEnabled={false}
  attributionEnabled={false}
  ref={(e) => { this.oMap = e }}
  zoomLevel={6}
  centerCoordinate={[54.0, 24.0]}> 
<MapboxGL.MapView> 

如何在其他组件中使用oMap?因此,我可以在其他组件/页面上执行类似图层开/关的操作。

沙欣·巴哈尼(Shashin Bhayani)

更新

使用将起作用的全局变量。

ref={ref=>{
   global.input=ref;
   }}

现在,您可以global.input.focus()在此屏幕之后在应用程序中的任何位置使用


这是实现此目的的示例:https : //snack.expo.io/ryJk3hFKN

您可以创建一个函数,该函数返回该组件的引用。
并将该功能作为道具传递给其他组件

import * as React from 'react';
import { Text, View, StyleSheet, TextInput, TouchableOpacity } from 'react-native';

export default class App extends React.Component {
  getInputRef = () => this.input;

  render() {
    return (
      <View style={styles.container}>
        <TextInput
          ref={ref => {
            this.input = ref;
          }}
          placeholder="Hi there"
        />
        <SecondComp getInputRef={this.getInputRef} />
      </View>
    );
  }
}

class SecondComp extends React.Component {
  render() {
    return (
      <TouchableOpacity
        onPress={() => {
          this.props.getInputRef().focus();
        }}>
        <Text>click to Focus TextInput from the other component</Text>
      </TouchableOpacity>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'space-around',
    backgroundColor: '#ecf0f1',
    padding: 8,
  },
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Angular2中的另一个组件中使用变量

如何在React中让一个组件“位于另一个组件之下”?

Angular2如何在另一个组件中使用一个组件功能

如何在另一个组件渲染后渲染一个React Native组件?

Angular 4如何在同级模块组件中使用另一个模块组件

将组件的值传递给另一个场景以在post方法中使用-React Native

如何在entryComponents另一个模块中使用模块中的组件?

如何在另一个React组件中使用createBottomTabNavigator

react-native如何在另一个javasript文件中使用状态值

如何在另一个组件的已绑定onClick事件中使用更新的变量?

在React中使用.map()生成组件时,如何使一个组件与另一个组件通信?

如何在React中从另一个组件设置一个组件的状态

如何在另一个组件中使用一个组件的状态?独立组件(反应)

如何在带有props的另一个组件中使用useState函数?

如何在React Native中从另一个功能组件更改一个功能组件的状态?

如何在HTML的另一个组件中使用导出的函数?肛门的?

我如何在React Native中从另一个组件调用函数?

如何在React Native中导航到类组件中的另一个屏幕

React.js如何在另一个组件中使用一个组件?

React:在另一个组件中使用组件

在 Vue 上,如何在另一个组件中使用一个组件中的函数?

如何在另一个文件中获取组件的状态 react native

如何在 React Native 的另一个组件中使用 API 获取状态

如何在react native中使用另一个类的参数调用函数?

在另一个组件 react js 中使用组件状态

如何在离子中的另一个组件中使用一个组件?

VueJs 2:如何在另一个组件中使用一个组件功能?

无法使用 React Native 将值从一个组件传递到另一个组件

如何在另一个组件中使用接口?(得到错误)