reactJS - 函数

时间:2016-03-02 06:54:50

标签: javascript reactjs syntax-error

每当我在函数内部映射以从数组调用数据时,我都会出错。你可以在下面看到我的代码。

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},

2 个答案:

答案 0 :(得分:2)

您可能对JSX表达式块{}感到困惑。它在JSX标记之间使用(如​​<a>{someExpression}</a>),如果您的意图是在纯JavaScript中,则不必使用它。

我刚刚删除花括号并看到它有效:

http://goo.gl/muvzGX

答案 1 :(得分:0)

如果prints是一个函数,那么你只是缺少一些语法:

prints: () => {_.map(this.state.selectedOrder.prints, (print) => {
            return {
              name: {print.printMethod},
              width: {print.width},
              height: {print.height},
              colors: {print.colors}
            };
          })},

目前,看起来prints是一个对象,显然点在对象文字的键侧无效({_.