Obtengo los datos del usuario (incluida la imagen de perfil) usando Redux. A veces, el usuario cambia su foto de perfil, redux la actualiza bien, pero la actualización solo aparece cuando reinicio la aplicación. Quiero que se actualice automáticamente una vez que el usuario cargue una nueva foto. no se como puedo hacer eso? ¿Es un problema en el componente de imagen de perfil o en la forma en que obtengo datos usando Redux?
así es como obtengo los datos del usuario:
export function fetchUser() { return (dispatch) => { firebase .firestore() .collection('users') .doc(firebase.auth().currentUser.uid) .get() .then((snapshot) => { if (snapshot.exists) { dispatch({ type: USER_STATE_CHANGE, currentUser: snapshot.data() }); } else { console.log('does not exist'); } }); }; }y aquí está el componente de imagen de perfil (que quiero actualizar cada vez que el usuario actualice su foto):
function DrawerProfilePicture(props) { const [image, setImage] = useState(null); const { currentUser } = props; useEffect(() => { setImage(currentUser?.pp); }, [currentUser?.pp]); if (!currentUser) { return ( <View> </View> ); } return ( {!image ? ( <Image style={{ width: 100, height: 100 }} source={require('../../assets/default.png')} /> ) : ( <Avatar.Image size={100} source={{ uri: image }} /> )} ); } const mapStateToProps = (store) => ({ currentUser: store.userState.currentUser, }); export default connect(mapStateToProps, null)(DrawerProfilePicture);const { currentUser } = props; useEffect(() => { setImage(currentUser.pp); }, [currentUser.pp]);El problema cuando usa corchetes vacíos [] su estado de actualización solo una vez cuando se procesa el componente, cuando agrega parámetros, se volverá a procesar cada vez que se actualice este parámetro