Как взять значение Text через ref React Native?

В React Native, ref - это механизм, который позволяет получить доступ к компонентам и их значениям. Чтобы взять значение из компонента Text через ref в React Native, вам нужно сначала создать реф с помощью useRef хука или путем создания ссылки с использованием React.createRef.

Ниже приведен пример использования useRef хука:

import React, { useRef } from 'react';
import { Text } from 'react-native';

const MyComponent = () => {
  const textRef = useRef(null);

  const handlePress = () => {
    const textValue = textRef.current?.props.children;
    console.log(textValue);
  };

  return (
    <>
      <Text ref={textRef}>Пример текста</Text>
      <Button onPress={handlePress} title="Получить значение текста" />
    </>
  );
};

export default MyComponent;

В этом примере мы создаем реф с именем textRef, и присваиваем его компоненту Text через атрибут ref. Затем мы создаем функцию handlePress, которая вызывается при нажатии кнопки. Внутри функции handlePress мы получаем значение текста, присвоенного компоненту Text, с помощью textRef.current?.props.children и выводим его в консоль.

Вы также можете использовать React.createRef() для создания ссылки, вот пример использования:

import React from 'react';
import { Text, Button } from 'react-native';

class MyComponent extends React.Component {
  textRef = React.createRef();

  handlePress = () => {
    const textValue = this.textRef.current?.props.children;
    console.log(textValue);
  };

  render() {
    return (
      <>
        <Text ref={this.textRef}>Пример текста</Text>
        <Button onPress={this.handlePress} title="Получить значение текста" />
      </>
    );
  }
}

export default MyComponent;

В этом примере мы создаем ссылку с именем textRef с помощью React.createRef(). Затем мы присваиваем ссылку компоненту Text через атрибут ref. В функции handlePress мы получаем значение текста, присвоенного текстовому компоненту, с помощью this.textRef.current?.props.children и выводим его в консоль.

Независимо от того, каким способом вы создаете реф, важно помнить, что с помощью ref вы можете получить доступ только к публичным свойствам и методам компонента. Если вы хотите получить доступ к тексту, который был введен пользователем в компоненте TextInput, вам следует обратиться к значению компонента TextInput напрямую, а не через реф.