【发布时间】:2021-12-15 13:33:46
【问题描述】:
在我的 React 组件中,我使用了输入类型;但不知何故,它无论如何都无法编辑。
我也检查了this post,但无法追踪解决方案。
const Index = ({
const [editable, setEditable] = useState(false)
const [email, setEmail] = useState('')
useEffect(() => {
if (data) {
setEmail(data.primaryEmail)
}
}, [data])
return (
<Emails
data={data}
changeHandle={e => setEmail(e.target.value)}
emailName={email}
/>
)
})
export default connect(mapStateToProps)(Index)
const Emails = ({
data,
changeHandle,
emailName
}) => {
return (
<Card>
<React.Fragment>
<tr key={email}>
<td className="text-gray-6 pl-0 pb-0">
<input className="mb-2" value={emailName} onChange={e => changeHandle(e)} />
</td>
</tr>
</React.Fragment>
</Card>
)
}
export default Emails
我在上面的代码中做了什么?
【问题讨论】:
-
这似乎是控制输入的一种过于复杂的方式,而且您的
changeHandle似乎并没有真正将新值保存在任何地方。 -
那么,我在哪里可以准确地利用
changeHandle来处理可编辑字段? -
一个简单的托管输入通常看起来像这样:
<input value={email} onChange={e => setEmail(e.target.value)} />我不确定我是否理解您需要使用多个状态和设置函数。 React controlled components documentation
标签: reactjs controlled-component