使用webpack编译时出现以下错误:
ERROR in ./src/client/app/components/SelectorComponent.jsx
Module build failed: SyntaxError: Unexpected token, expected , (12:56)
10 | console.log(race);
11 | return (
> 12 | <input type="radio" key={race._id}/>{race.raceDate} {race.location} {race.gender} {race.skill} {race.distance}
| ^
13 | )
14 | })}
15 | <input type="radio"/>Casper 2017<br/>
这是我的组件产生错误:
import React from 'react';
class SelectorComponent extends React.Component {
render() {
return (
<div id='selector-component'>
<h3>Race Selector</h3>
<form>
{this.props.races.map(function(race) {
console.log(race);
return (
<input type="radio" key={race._id}/>{race.raceDate} {race.location} {race.gender} {race.skill} {race.distance}
)
})}
<input type="radio"/>Casper 2017<br/>
<input type="radio"/>Laramie 2017
</form>
</div>
);
}
}
export default SelectorComponent;
以下是我尝试过的一些想法的清单:
这是让我相信错误围绕着我输入标签错误的原因。
如果您还需要其他任何帮助,请告诉我。
答案 0 :(得分:0)
React v15
不允许返回多个父元素标记,这意味着如果您有多个元素,则这些元素应该包含在父标记中。
在您的情况下,您实际上是在尝试返回多个元素,因为<input />
和文本被视为单独的元素。您需要使用父元素包装它们。最常见的是使用<span>
或<label>
标记。
您修改过的代码:
{this.props.races.map(function(race) {
console.log(race);
return (
<label>
<input type="radio" key={race._id}/>{race.raceDate} {race.location} {race.gender} {race.skill} {race.distance}
</label>
)
})}