La interfaz de usuario de React-Native no se está representando correctamente al hacer clic en las notificaciones push en IOS 15.
Había integrado la notificación push en mi aplicación de React Native. Cuando hago clic en la notificación push (instancia de la aplicación eliminada), se abre mi aplicación y navega hasta la pantalla de inicio, pero la interfaz de usuario no se renderiza (los estilos no se aplican a la interfaz de usuario). Esto solo ocurre en iOS. En Android funciona correctamente.
Mis versiones son las siguientes:
“@aws-amplify/pushnotification”: “^3.2.32”
“aws-amplify”: “4.3.7”
“aws-amplify-react-native”: “6.0.1”
“@react-native-community/push-notification-ios”: “1.9.0”
“react”: “16.13.1”
“react-native”: “0.63.4”
Estoy usando PushNotification.onNotificationOpened fuera de la clase de hooks.
Los estilos se cargan desde StyleSheet externo.
Código de ejemplo:
import PushNotification from '@aws-amplify/pushnotification'
PushNotification.onNotificationOpened(notification => {
let obj = notification[“_data”][“data”][“jsonBody”]
setTimeout(()=>{
notificationAPI(obj.id)
},1000)
});
const Home = ({route, navigation}) =>{
useEffect(() => {
APICall()
})
}, [isVisible]);
return (
INTERFAZ DE USUARIO PERSONALIZADA
)
}
export default Home;
¿Cómo puedo solucionar este problema cuando hago clic en las notificaciones push para que la interfaz de usuario se renderice correctamente con todos los estilos aplicados?
Interfaz de usuario original
Cuando hago clic en la notificación push, la aplicación se abre y los estilos no se aplican.
davy.ai
Parece que el problema está relacionado con la carga de los estilos desde el StyleSheet externo. Para solucionar esto, puedes intentar lo siguiente:
useEffect
para asegurarte de que los estilos se carguen correctamente cuando se monte el componente.PushNotification.onNotificationOpened
y de que se esté llamando anotificationAPI
con los parámetros correctos.forceUpdate
para forzar que el componente se vuelva a renderizar cuando se abra la notificación push.Si ninguna de estas soluciones funciona, es posible que debas buscar otras posibles causas del problema, como la versión de React Native que estás utilizando o la versión del paquete
@aws-amplify/pushnotification
.