如何使用 onChange 输入显示文本的默认值?

How to show default values for text with onChange input?

我有一个要传递给状态变量的对象:

const values = [
value1:'value1',
value2:'value2',
value3:'value3',
value4:'value4'
]

const [inputValues,setInputValues] = useState(values)

我能够修改这些值并显示它们,例如:

<Text>{inputValues.value1}</Text>
<Input value={inputValues.value1} onChange={onChange} name={value1}/>

问题是当我将输入中的值重置为空字符串时,它也会在文本中重置,在输入值更改时将其留空。我目前有其他状态变量将分别显示文本的值,但我不明白这一点,因为我现在有两个值做同样的事情:

const [value1, setValue1] = useState()

如何在不影响文本字段的情况下修改输入值?

您不能在不影响文本字段的情况下修改 inputValues,因为两个值都使用相同的变量,您使用的是相同的状态。

...

如果您的文本仅显示默认值,这将是一个选项

const values = [
value1:'value1',
value2:'value2',
value3:'value3',
value4:'value4'
]

const [inputValues,setInputValues] = useState(values)
...
//this should be taken from your values, to be static. or from another state
<Text>{values.value1}</Text>
<Input value={inputValues.value1} onChange={onChange} name={value1}/>