javascript - 单击按钮时反应渲染新组件
问题描述
所以我试图在每次点击按钮时渲染一个组件。例如,每次单击按钮时显示文本或每次单击按钮时显示新的输入框。在下面的代码中,我只是尝试在每次单击按钮时在 UI 中显示文本。我一直在关注其他堆栈溢出帖子,但没有运气。我错过了什么吗?
export default function InputData() {
const categories = useSelector(state => state.data.retailCategoriesSelected);
function addition(event, category) {
categories['retail'].push({value: category, label: category});
return(
<div>
<p>hey</p>
</div>
)
console.log(categories);
}
const dataForms = categoriesSelected ? (
categories['retail'].map((d, idx) => {
return (
<div key={idx}>
{idx === 0 && (
<h2 className="text-center mb-3" id="header">
Input Data For Selected Categories
</h2>
)}
<div key={idx} className="input-data-select-container mb-4">
<Row>
<Col xs="8">
<h3 className="font-weight-light">{d.value}</h3>
</Col>
<Col xs="4">
<Button
onClick={(e) => addition(e, d.value)}
>
Add
</Button>
</Col>
</Row>
<Row>
<Col xs="4">
<Label>Recommended Size:</Label>
<Input
type="number"
min="0"
placeholder="0"
name="recommendedSize"
onChange={(e) => handleInputChange(e, d.value)}
/>
</Col>
<Col xs="4">
<Label>
First-Year {new Date().getFullYear()} Sales Per Sq Ft:
</Label>
<Input
type="number"
min="0"
placeholder="0"
name="firstYearSalesPerSqFt"
onChange={(e) => handleInputChange(e, d.value)}
/>
</Col>
<Col xs="4">
<Label>
Fifth-Year {new Date().getFullYear() + 5} Sales Per Sq Ft:
</Label>
<Input
type="number"
min="0"
placeholder="0"
name="fifthYearSalesPerSqFt"
onChange={(e) => handleInputChange(e, d.value)}
/>
</Col>
</Row>
<FormGroup className="mt-2">
<Label>Select Recommended Vendors:</Label>
<Select
closeMenuOnSelect={false}
options={options}
isMulti
placeholder="Select all the recommended vendors for the report. "
maxMenuHeight="270px"
/>
</FormGroup>
</div>
</div>
);
})) : (
<h2 className="text-center">No Categories Selected</h2>
);
return (
<Container className="container-width text-secondary">
<Form className="text-left">
{dataForms}
</Form>
</Container>)
}
解决方案
推荐阅读
- angular - 满足条件时,角度检查属性无法正常工作
- flask - 如何通过 jinja 将变量传递给 litelement?
- python - 正则表达式删除(whatever_inside)IFF,如果括号内没有空格,则只有 IFF
- c++ - 程序在输出时卡住了
- android-studio - 源代码是否添加了从 Android 工作室获取的 APK
- ios - 如何在 Swift 中创建标签点下划线
- r - 为什么可以在 dplyr 辅助函数“across”中检测到 tidyselect 辅助函数“where”?
- node.js - AWS LAMBDA api 网关错误“格式错误的 Lambda 代理响应”状态错误 502
- python - 如何使日期列对 postgres 而不是 Python 中的数据探索更具吸引力?
- c# - 如何将自定义代码添加到在服务器上执行的 EFCore