onInput для React 360/React Vr не работает

Я создаю простое приложение React 360, чтобы ознакомиться с обработкой ввода из различных источников. Вот веб-страница документации Обработка ввода React 360. После прочтения страницы я вообще не могу заставить ввод работать, и непонятно, почему. Вот мой код:

import React from 'react';
import {
  AppRegistry,
  StyleSheet,
  Text,
  View,
} from 'react-360';

export default class ExampleVR extends React.Component {
  render() {
    return (
  <View style={styles.panel}>
    <View style={styles.greetingBox}>

    ***********Why is this not doing anything?**************

      <View onInput={e => {
          const inputEvent = e.nativeEvent.inputEvent;
          console.log(inputEvent);
        }}>
          { /* ... */ }
      </View>

      ****************************
      <Text style={styles.greeting}>
        Welcome to React 360
      </Text>
    </View>
  </View>
);
}
};

Приведенный выше код ничего не делает, и, честно говоря, я не уверен, что бы он делал, если бы работал. Судя по документации, я бы подумал, что это будет console.log входной объект, который я увижу. Это то, что я понял из предыдущего вопроса о реакции, который я видел. Чего я не понимаю, так это как это запускается? Я нажимаю на него, нажимаю клавиатуру на своем ноутбуке и ничего. Не так много информации, чтобы продолжать. Кто-нибудь сталкивался с чем-то подобным раньше?


person Dan Rubio    schedule 09.01.2019    source источник


Ответы (1)


Я думаю, что понял свой вопрос для дальнейшего использования. В приведенном выше коде <View onInput={....}> «невидим», когда я запускаю приложение с npm start. Что я сделал, так это удалил окружающие представления, включенные в пример, а затем добавил к нему некоторые стили таблицы стилей css. Вот этот код:

export default class ExampleVR extends React.Component {


render() {
    return (
        <View style={styles.input} onInput={e => {
            const inputEvent = e.nativeEvent.inputEvent;
            console.log(inputEvent);
          }}>
            { /* ... */ }
        </View>
    );
  }
};

const styles = StyleSheet.create({
  input: {
    width: 1000,
    height: 600,
    backgroundColor: 'rgba(255, 255, 255, 0.4)',
    justifyContent: 'center',
    alignItems: 'center',
  },
}

Это работает, как я и ожидал. Когда я нажимаю на текущую панель или нажимаю клавишу, объект ввода печатается, как и ожидалось.

person Dan Rubio    schedule 09.01.2019