reactJS - 函数内部映射上的意外标记
reactJS - Unexpected token upon map inside a function
每当我映射到函数内部以调用数组中的数据时,我都会遇到错误。你可以在下面看到我的代码。
onAddOrder = () => {
var newOrders = this.state.orders;
newOrders.push({
parts: [],
prints: {_.map(this.state.selectedOrder.prints, (print) => {
return {
name: {print.printMethod},
width: {print.width},
height: {print.height},
colors: {print.colors}
};
})},
breakdown: [{
size: '',
quantity: 0
}]
});
this.setState({
orders: newOrders
});
}
这是我遇到的错误
Module build failed: SyntaxError: /Users/dczii/Projects/dashboard/src/components/OrderForm/OrderForm.js: Unexpected token (156:18) <br />
154 | },<br />
155 | parts: [],
> 156 | prints: {_.map(this.state.selectedOrder.prints, (print) => {
| ^
157 | return {
158 | name: {print.printMethod},
159 | width: {print.width},
如果 prints
是一个函数,那么您只是缺少一些语法:
prints: () => {_.map(this.state.selectedOrder.prints, (print) => {
return {
name: {print.printMethod},
width: {print.width},
height: {print.height},
colors: {print.colors}
};
})},
目前,看起来 prints
是一个对象,显然点在对象文字的键端无效 ({_.
)
你可能对 JSX 表达式块感到困惑 {}
。它用在 JSX 标签之间(比如 <a>{someExpression}</a>
),如果你有意的话,你不必在普通的 JavaScript 中使用它。
我刚刚删除了大括号并看到它有效:
每当我映射到函数内部以调用数组中的数据时,我都会遇到错误。你可以在下面看到我的代码。
onAddOrder = () => {
var newOrders = this.state.orders;
newOrders.push({
parts: [],
prints: {_.map(this.state.selectedOrder.prints, (print) => {
return {
name: {print.printMethod},
width: {print.width},
height: {print.height},
colors: {print.colors}
};
})},
breakdown: [{
size: '',
quantity: 0
}]
});
this.setState({
orders: newOrders
});
}
这是我遇到的错误
Module build failed: SyntaxError: /Users/dczii/Projects/dashboard/src/components/OrderForm/OrderForm.js: Unexpected token (156:18) <br />
154 | },<br />
155 | parts: [],
> 156 | prints: {_.map(this.state.selectedOrder.prints, (print) => {
| ^
157 | return {
158 | name: {print.printMethod},
159 | width: {print.width},
如果 prints
是一个函数,那么您只是缺少一些语法:
prints: () => {_.map(this.state.selectedOrder.prints, (print) => {
return {
name: {print.printMethod},
width: {print.width},
height: {print.height},
colors: {print.colors}
};
})},
目前,看起来 prints
是一个对象,显然点在对象文字的键端无效 ({_.
)
你可能对 JSX 表达式块感到困惑 {}
。它用在 JSX 标签之间(比如 <a>{someExpression}</a>
),如果你有意的话,你不必在普通的 JavaScript 中使用它。
我刚刚删除了大括号并看到它有效: