map 函数在 React 组件中不起作用
map function doesn't work in React component
我目前正在学习 ReactJS,我无法发现我的代码有什么问题。所以,我里面有一个函数和 map() 方法。我用两种方式(箭头和正常)编写了它,但正常功能似乎不起作用(页面重新加载为空但没有显示错误或代码突出显示)。澄清一下,我不会同时 运行 这些功能 - 一个在测试另一个时被注释掉,然后我切换它。此外,箭头功能工作得很好。
能否请您检查我的代码并建议这里有什么问题?
// 有效的箭头函数
function App() {
const appComponent = AppData.map((data) => <Data question={data.question} answer={data.answer} />);
return <div>{appComponent}</div>;
}
// 正常功能不起作用
function App() {
const appComponent = AppData.map(function (data) {
<Data question={data.question} answer={data.answer} />
});
return <div>{appComponent}</div>;
}
您的 #Array.map
回调中没有 return 语句,目前您的回调 return 是一个数组:[undefined]
:
function App() {
const appComponent = AppData.map(function (data) {
return <Data question={data.question} answer={data.answer} />;
});
return <div>{appComponent}</div>;
}
参见examples in #Array.map
docs。
let numbers = [1, 4, 9]
let roots = numbers.map(function(num) {
return Math.sqrt(num)
})
你不会在后一个返回。
function App() {
const appComponent = AppData.map(function (data) {
return <Data question={data.question} answer={data.answer} />
});
return <div>{appComponent}</div>;
这里的技巧是箭头函数隐式地 return 它们包含的语句的值(除非它们用 {}
大括号括起来)。
以下是 return 值的三种方式:
() => 'returned';
() => { return 'returned'; };
function() { return 'returned'; };
我目前正在学习 ReactJS,我无法发现我的代码有什么问题。所以,我里面有一个函数和 map() 方法。我用两种方式(箭头和正常)编写了它,但正常功能似乎不起作用(页面重新加载为空但没有显示错误或代码突出显示)。澄清一下,我不会同时 运行 这些功能 - 一个在测试另一个时被注释掉,然后我切换它。此外,箭头功能工作得很好。
能否请您检查我的代码并建议这里有什么问题?
// 有效的箭头函数
function App() {
const appComponent = AppData.map((data) => <Data question={data.question} answer={data.answer} />);
return <div>{appComponent}</div>;
}
// 正常功能不起作用
function App() {
const appComponent = AppData.map(function (data) {
<Data question={data.question} answer={data.answer} />
});
return <div>{appComponent}</div>;
}
您的 #Array.map
回调中没有 return 语句,目前您的回调 return 是一个数组:[undefined]
:
function App() {
const appComponent = AppData.map(function (data) {
return <Data question={data.question} answer={data.answer} />;
});
return <div>{appComponent}</div>;
}
参见examples in #Array.map
docs。
let numbers = [1, 4, 9]
let roots = numbers.map(function(num) {
return Math.sqrt(num)
})
你不会在后一个返回。
function App() {
const appComponent = AppData.map(function (data) {
return <Data question={data.question} answer={data.answer} />
});
return <div>{appComponent}</div>;
这里的技巧是箭头函数隐式地 return 它们包含的语句的值(除非它们用 {}
大括号括起来)。
以下是 return 值的三种方式:
() => 'returned';
() => { return 'returned'; };
function() { return 'returned'; };