[英]Can I add dynamically new Html tag input in JSX by React
不要以为单击按钮就是添加HTML,而是更新状态,而状态又由render函数反映出来。
在不知道代码结构的情况下很难过于具体,但是在应用程序状态的某个位置,您将需要存储联系人列表。 例如,这可能是处于最高级别组件状态的数组。
如何在JSX中动态生成新的HTML标签输入
这部分很容易,在您的渲染功能中,只需查看州的联系人列表并适当地绘制联系人即可。
并保存,如果我返回同一页面
单击添加按钮时,您将需要触发更新状态(将新合同推送到阵列)。 想必您还想在这里触发将数据保存到数据库等吗?
您可能需要考虑使用Redux通过导航等维护应用程序状态。
我同意Phil的观点,根据您的项目范围,使用Redux可能是个好主意。
听起来您想要做的是创建另一个React组件以用作添加/可编辑帐户(我称其为AddedAccount),该帐户接受添加帐户表单数据作为道具。
然后,您可以将AddedAccount导入到表单组件中,并在表单组件的状态下创建一个空数组。 然后,您可以使用用户创建的许多AddedAccount组件填充数组,并使用map方法呈现它们。
例:
import AddedAccount from './whereever';
const AccountForm = React.createClass({
getInitialState() {
return {
addedAccounts = []
}
},
addAccount(formData) {
this.setState({
addedAccounts: ...this.state.addedAccounts,
formData
})
},
render() {
let addedAccounts = this.state.addedAccounts.map((account) =>
<AddedAccount accountInfo={account} />
)
return (
<div>
... // Make the Add Account button pass form data to this.addAccount()
{addedAccounts}
</div>
)
}
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.