【发布时间】:2018-02-10 16:42:24
【问题描述】:
当我尝试在 React 中映射一个数组时(使用此代码):
const { loading, error, posts } = this.props;
return(
{posts.map(onePost => ({
<p key={onePost.id}>{onePost.title}</p>
}))}
);
我收到一个错误:
ERROR in ./src/client/app/mainGrid.jsx
Module build failed: SyntaxError: C:/[redacted]/react/src/client/app/mainGrid.jsx: Unexpected token, expected , (15:8)
13 | return(
14 |
> 15 | {posts.map(onePost => ({
| ^
16 | <p key={onePost.id}>{onePost.title}</p>
17 |
18 | }))}
@ ./src/client/app/index.jsx 27:16-41
我不知道为什么会这样,我觉得一切都很好。
【问题讨论】:
-
我会说最里面的
{}导致了问题 - 要么将 JSX 元素包装在括号中,即( <p...> )而不是({ <p...> })要么返回一个普通对象 -
你正在返回一个 object,它假设
posts是posts: posts的简写,并且在下一个键之前需要一个逗号。
标签: javascript reactjs