将值从一种模式传递到另一种模式

我在我的一种模式中使用这些:


const [startingPoint, setStartingPoint] = useState('');


<Input

  placeholder="Start"

  onChangeText={inputText => setStartingPoint(inputText)}

  value={startingPoint}

/>

我想将此处输入的值传递给下一个模式,并自动将其写入另一个输入字段。我试图传递这样的值:


<AvailableTripsPage

  showAvailableTripsPage={showAvailableTripsPage}

  toggleShowPage={toggleAvailableTripsPage}

  startingPoint={startingPoint}

/>

这是来自传递值的第二个模式。


const [newStartingPoint, setNewStartingPoint] = useState(startingPoint);


<Item fixedLabel>

   <Input 

      //onChangeText={text => setNewStartingPoint(text)}

      value={newStartingPoint}

   />

但是,这不能正常工作。有时价值只是没有显示出来。否则,我在上一个模式中输入的值不会更新。例如,如果我在开头写了“FirstPoint”,并尝试了几次不同的值,它仍然在新模态中显示“FirstPoint”。


吃鸡游戏
浏览 68回答 1
1回答

Cats萌萌

useState将其参数作为初始值。这意味着,在您在另一个 Modal 中更改它之后,它会不同步,因为state不会自动更新参数更改。你可以添加一个useEffect钩子来监听props.startingProps,正确更新状态,比如:useEffect(() => {&nbsp; setNewStartingPoint(props.startingPoint);}, [props.startingPoint]);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript