'LikeView' no tiene propType 'RCTFBLikeView.onLayout' de tipo nativo 'booleano' si no ha cambiado este

LikeView no tiene propType para prop nativo RCTFBLikeView.onLayout de tipo nativo boolean Si no ha cambiado este prop propiamente, esto normalmente significa que sus versiones del código nativo y el código JavaScript están fuera de sincronización. Actualizar ambos debe hacer que este error desaparezca. Introduzca aquí la descripción de la imagen

No sé por qué estoy recibiendo este error. No estoy usando LikeView en absoluto en la aplicación android. He intentado ejecutar npm start --reset-cache .

También la versión iOS de la aplicación no tiene ningún problema. Esto sólo ocurre para android.

Cualquier sugerencia bienvenida.

¡Gracias!

Me di cuenta de que el problema es (como RN señala) un desajuste entre los apoyos nativos y los JS sobre los apoyos que cada vista utiliza. A saber:

  • RenderToHardwareTextureAndroid
  • A la salida
  • AccessibilityRegion viva
  • AccessibilityComponentType
  • ImportanteForAccesibilidad
  • AccesibilidadLabel
  • ID de prueba

Dado que no estoy usando ninguna de las vistas que el paquete utiliza, a saber:

  • FBLikeView
  • FBLoginButton
  • FBSendButton
  • FBShareButton

Intenté fijar estos apoyos como 'nativo solamente', de modo que no estén ligados al lado del Javascript. En cada componente (en el ejemplo, FBShareButton.js ), he reemplazado:

 const RCTFBShareButton = requireNativeComponent( 'RCTFBShareButton', ShareButton, ); 

con

 const RCTFBShareButton = requireNativeComponent( 'RCTFBShareButton', ShareButton, { nativeOnly: { onChange: true, onLayout: true, testID: true, importantForAccessibility: true, accessibilityLiveRegion: true, accessibilityComponentType: true, accessibilityLabel: true, renderToHardwareTextureAndroid: true, } }, ); 

Ahora voy a comprobar si las vistas se están haciendo correctamente y editar mi post más tarde, pero si sólo quiere ser capaz de compilar su aplicación para continuar el desarrollo (como es mi caso en el momento), que debe dejar Usted lo hace.

Editar

Hice rendir con éxito el componente de LoginButton usando el ejemplo en el README con mis cambios.

Editar 2

Hice una solicitud de extracción con mis cambios en el paquete. No me gusta la solución, pero podría llamar la atención de FB. Mientras tanto, puedes usar mi tenedor. En su package.json , simplemente reemplace la línea fbsdk con esto:

"react-native-fbsdk": "git+https://github.com/motius/react-native-fbsdk.git#fix-views"

Esta otra solicitud de extracción podría ser una solución mejor, en realidad.

Similar a la solución sugerida por @martinarroyo, me imaginé que tiene que ver con algunos componentes que no están sincronizados entre el código nativo y el código js. Si no está utilizando estos componentes, en lugar de agregar la propiedad nativeOnly en cada archivo js que lo utilice, comenté las exportaciones del reactivo-fbsdk index.js de la siguiente manera:

 //native components // exports.LikeView = require('./FBLikeView'); // exports.LoginButton = require('./FBLoginButton'); // exports.SendButton = require('./FBSendButton'); // exports.ShareButton = require('./FBShareButton'); 

Obviamente esto es sólo una solución, pero que debería hacerle pasar por ese error

Así que después de innumerables experimentos y golpear mi cabeza sobre la mesa, creo que la solución fue el versionado de la dependencia.

Aquí está una lista de cosas que intenté y la que creo que resolvió el problema está marcado con un * porque no estoy 100% seguro si fue este paso que lo resolvió.

  1. Quitando la carpeta node_modules y reinstalándola.
  2. Haciendo la reaccion-native-git-upgrade como sugirió @matt
  3. Reinstalado reaccionar-nativo-fbsdk varias veces siguiendo las instrucciones y doble comprobación del código.
  4. Cambiando el buildToolsVersion y targetSdkVersion a 25. 5 **. En última instancia, ejecutar react-native uninstall react-native-fbsdk seguido de react-native install [email protected] .

Nota * número 5 fue intentado a lo largo de los últimos dos días … pero sólo ahora funcionó … Así que no sé qué magia negra es que causó que funcione ahora mismo …

El problema con el número 5 es que antes de ayer la versión de la dependencia fbsdk era 0.5.0 y desde ayer, se actualizó a 0.6.0. Así que no estoy seguro de por qué aunque lo he reinstalado ayer también, no arreglar el error.

Si alguien que está más familiarizado con esto puede proporcionar una explicación de por qué esto ocurrió me inclinaría a aprender.

Puede degradar reaccionar-nativo-fbsdk a 0.5.1 para evitar este problema hasta que una corrección se ha combinado en una nueva versión.

  • Las referencias a getCurrentActivity hacen imposible la creación de un InputMethodService en Android
  • Cómo utilizar la barra de herramientas en la aplicación nativa de Android de la aplicación
  • Reaccionar Android nativo: mostrar una actividad de Java
  • ¿Puedo usar el diseño estático (interfaz de usuario nativa) en la implementación nativa de los nativos de reaccionar en Android?
  • React-Native + Android, solo para arquitectura armeabi
  • ¿Puedes desactivar la edición en pantalla completa en el paisaje en React Native Android?
  • Hello World no se muestra en reaccionar con Android nativo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.