reactjs - 如何使这样的选项映射不是 JSX?
问题描述
不是在jsx的上下文中,而是在函数的上下文中遍历数组?
import React from "react";
import "./styles.css";
export default function App() {
const array = [
{
title: "Hello",
desc: "World"
},
{
title: "Hello",
desc: "World"
},
{
title: "Hello",
desc: "World"
},
{
title: "Hello",
desc: "World"
}
];
const onHandleOption = () => {
return array.map(items => {
return items.title;
});
};
return (
<div className="App">
<select defaultValue="0">
<option>{onHandleOption}</option>
</select>
</div>
);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
我正在尝试这样做,但它没有成功......但是如果你在 jsx 上下文中应用它,那么一切正常,但我想让我的代码更干净
解决方案
您将它们全部映射到同一个option
标签中。
如果您想保留为单独的功能,请尝试以下操作:
const renderOptions = () => {
return array.map(item => {
// Your items don't seem unique so the key here may not work.
return <option key={item.title}>{item.title}</option>;
});
};
...
<select defaultValue="0">
{renderOptions()}
</select>
推荐阅读
- android - 内部:Android 中的帧处理程序出错
- java - 如何使用 LiveData ViewModel 进行文件存储
- django - 为什么 mu 用户模型会引发类似 filter_horizontal 的错误
- django - 登录后 Django Rest Framework 要求身份验证
- php - 在 Heroku 上进行异步 Artisan::call
- python - 我应该对这些数据点使用哪种插值?
- r - 按包含数字数据和时间戳的多列排序
- tableau-api - Tableau:如何从月数中获取年数?
- php - 在for循环中绘制多个谷歌饼图
- flutter - 从颤动的列表中获取值