React Native - 导航返回自定义功能未更新道具状态

时间:2021-01-08 14:57:29

标签: reactjs react-native react-native-navigation

我有以下代码:

 //Redux
  const user = useSelector((state) => state.usedetailReducer.user);

const removeUserSeat = async () => {
    // console.log('User (inside): ', user._id);
    await firestore()
      .collection('rooms')
      .doc(DocID)
      .collection('users')
      .doc(user._id)
      .delete()
      .then(() => {
        console.log('User deleted! (inside): ', user._id);
      });
  };

const leaveRoom = () => {
    removeUserSeat();
  };

useEffect(
    () =>
      navigation.addListener('beforeRemove', (e) => {
         leaveRoom();
        e.preventDefault();
        navigation.dispatch(e.data.action);
      }),
    [navigation],
  );

如果我从普通按钮 onpress 事件中调用 leaveRoom(),它会获取在当前渲染中更新的 user._id。但是当我按下硬件后退按钮 leaveRoom() 进入 removeUserSeat() 函数时,user._id 没有获得最新的状态值。

0 个答案:

没有答案