javascript - 从动态列表中渲染动态组件
问题描述
有一个主(Template.js)页面,其中数据是从 API 获取的,使用这些数据List
(来自 material-ui)由renderTemplatesList
函数形成。如何处理列表元素onClick
事件并更改h1
内容?
//Template.js
export default function Template() {
const [data, setData] = useState([]);
useEffect(() => {
//get data from backend...
}, []);
const templateData = renderTemplatesList(data);
return (
<div>
<List>{templateData}</List>
</div>
<div>
<h1>{/* Selected list item params */}</h1>
</div>
);
}
export const renderTemplatesList = (items) => {
let templates = null;
if (items !== undefined && items !== null && items.length !== 0) {
templates = items.map((template) => (
<ListItem>
<ListItemButton>
<ListItemText primary={template.name} />
</ListItemButton>
</ListItem>
));
}
return templates;
};
解决方案
推荐阅读
- android - firebase 获取数据太多次
- python - ImportError:无法导入名称“LinearNDInterpolator”
- hibernate - JPA EntityManager:为什么 merge() 方法返回托管实体?
- excel - 如何编写VBA代码来隐藏excel中的一些单元格
- python - 如何重塑包含图像数据的数组
- safari - 在 Safari 中的 contenteditable 上按Key Enter
- arrays - 矩阵列作为 AND 操作
- java - 在嵌套循环中并排打印两个数字
- angularjs - ad " 和 ' 在 ng-pattern html 中
- for-loop - 从go中的tcp连接读取数据是否需要for循环?