react-native:реквизит ref возвращает значение null

#react-native

Вопрос:

Я пытаюсь получить ссылку на представление, чтобы определить, исходило ли прикосновение из представления или за его пределами

  <View    ref={ref => { console.log("ref is",ref) }}></View>
 

Я имел в виду https://www.jaygould.co.uk/2019-05-09-detecting-tap-outside-element-react-native/
но при этом ссылка всегда равна нулю.Что я делаю не так? Как получить ссылку на элемент?

Ответ №1:

Вы используете компонент класса или функциональный компонент?

Если вы используете компонент класса,попробуйте сначала создать ссылку в конструкторе следующим образом: this.sampleDiv = React.createRef();

Затем передайте его в представление,

< Ссылка для просмотра={this.sampleDiv}> < Ссылка для просмотра={this.sampleDiv}>< /Просмотр >

Теперь вы можете получить доступ к узлу DOM, используя некоторые события, такие как щелчок, с помощью: this.sampleDiv.current

Если вы используете функциональный компонент, попробуйте использовать useRef hook