Navigation.navigate 不重置路由参数 - React 本机导航

Navigation.navigate does not reset route params - React native navigation

我有一个对象列表。我正在将所选项目传递到该屏幕中的另一个屏幕。我正在推送对象的详细信息,现在返回到上一个屏幕,然后再次导航到同一屏幕。那个时候我仍然在获取我之前在列表中选择的先前选择的项目数据。如何重置导航参数数据?

屏幕 1:

<TouchableOpacity
  onLongPress={() => {
    setSelectedItem(item.TypeofPlant)
    createTwoButtonAlert()
  }} 
  onPress={() => navigation.navigate('Screen2', { item: item.Nameplan })}
>

屏幕 2:

const { item } = route.params
const isMounted = useRef(true)

  useEffect(() => {
    if (isMounted.current) {
       fetchData();
    }
    return () => {
      isMounted.current = false;
    }
  }, [])

  const fetchData = () => {
    console.log(item);
         
    DataService.getPlantByType(item)
      .then((responseJson) => responseJson)
      .then((response) => {
        setItems(response.data);
       
      })
      .catch(function (error) {
        console.log(error)
      })
  }

我使用带有 reset-action 的 dispatch CommonAction 来清除 back-stack 我的应用程序,这样当用户按下硬件 reset-button :

时,应用程序会返回到上一个屏幕
<Button
    title="Reset navigation state"
    onPress={() =>
      navigation.dispatch(
        CommonActions.reset({
          index: 1,
          routes: [
            {
              name: 'Screen 2',
              params: {key: route.params.key },
            },
            { name: 'Screen 1' },
          ],
        })
      )
    }
  />