每当我在函数内部映射以从数组调用数据时,我都会出错。你可以在下面看到我的代码。
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},
答案 0 :(得分:2)
您可能对JSX表达式块{}
感到困惑。它在JSX标记之间使用(如<a>{someExpression}</a>
),如果您的意图是在纯JavaScript中,则不必使用它。
我刚刚删除花括号并看到它有效:
答案 1 :(得分:0)
如果prints
是一个函数,那么你只是缺少一些语法:
prints: () => {_.map(this.state.selectedOrder.prints, (print) => {
return {
name: {print.printMethod},
width: {print.width},
height: {print.height},
colors: {print.colors}
};
})},
目前,看起来prints
是一个对象,显然点在对象文字的键侧无效({_.
)