reactjs - Redux:基于可切换变量设置表单项的默认值
问题描述
我正在制作一个功能,允许用户回复消息,并让他们可以选择包含更正(如果他们愿意)。如果他们单击按钮,则会出现键入正确的框:
const [reply, correct] = useState("reply");
const dispatch = useDispatch();
const toggle = () => {
if (reply === "reply") {
return correct("correction");
}
correct("reply");
};
...
<Button
className={reply === "correction" ? "hide" : "show"}
onClick={() => toggle()}
>
Add Correction
</Button>
<div className={reply === "correction" ? "show" : "hide"}>
<Button onClick={() => toggle()}>
Cancel Correction
</Button>
我想在表单中添加一个检查,以便它根据用户是否按下更正按钮来传递“回复”或“更正”的值“replyType”。我试图调用 {reply} 变量作为隐藏控件中的默认值,但它没有改变 - 它总是作为“回复”传递,即使我执行 console.log({reply}) 它显示我它正在从回复和更正中来回变化:
<Control.text
model=".replyType"
id="replyType"
name="replyType"
defaultValue={reply}
className="hide"
/>
有没有办法做到这一点?
TL;DR 试图将变量作为 defaultValue 传递,但即使变量在控制台中发生变化,它在 defaultValue 中也没有变化。
解决方案
推荐阅读
- c - 如何使opengl文本可见/更改颜色?
- php - 如何在自己的网站上显示谷歌分析仪表板
- php - 登录虚拟键盘库
- swift - Swift - UICollectionView dynamic height
- powershell - Most of time facing Access denied issue for Exchange server
- liferay - liferay中的自动增量值
- blockchain - Composer Rest Server 启动后浏览器中的连接超时
- apache-spark - How to submit a YARN job using APPLICATION ID
- ios - estimatedHeightForRowAtIndexPath 和 heightForRowAtIndexPath 之间的区别?
- angular - Is gql-response READ_ONLY? If yes then why so?