我把我在应用程序中遇到的问题简化如下:即使我在TextInput
中输入一个新单词,当我返回页面时,它显示的是"initial"
,为什么它不写新值?
其实我这里想做的是,一按手机的后退键(hardwareBackPress),就把最后输入的文本发送到redux,但它总是发送初始值,这个问题怎么解决?
import { TextInput } from 'react-native'
import React, { useEffect, useState } from 'react'
export default function ChangeModel({ navigation }) {
const [text, setText] = useState("initial")
const onPressSave = () => {
console.log(text)
}
useEffect(() => {
return () => onPressSave()
}, [])
return (
<TextInput
value={text}
onChangeText={setText}
style={{ backgroundColor: "grey" }}
/>
)
}
2条答案
按热度按时间rt4zxlrg1#
你没有设置任何会改变值的东西,尝试用新值设置状态:
如果你处理
redux
,你应该先导入action
,然后再导入dispatch
nxagd54h2#
要获取输入的数据,您必须编写一个按钮组件,如下所示
当你点击手机背面的按钮时,状态为默认