Это новая функция в ES6 для destructure объектов.
Как все мы знаем, что здесь выполняется операция назначения, что означает, что значение правой стороны присваивается левой стороне переменной.
var { Navigation } = require('react-router');
В этом методе случае require('react-router')
возвращает объект с парой ключей значение некоторые вещи, как
{ Navigation: function a(){}, Example1: function b(){}, Example2: function c(){} }
.
И если мы хотим взять один ключ в этом возвращенном объекте, скажем Navigation
переменной, мы можем использовать для этого Object destructing.
Это возможно только в том случае, если у нас есть ключ.
Таким образом, после того, как оператор присваивания, локальная переменная Navigation
будет содержать function a(){}
Другой пример выглядит следующим образом.
var { p, q } = { p: 1, q:2, r:3, s:4 };
console.log(p) //1;
console.log(q) //2;
В вашем 'webpack.config.js' вы, вероятно, имеете [' jsx-loader'] (https://github.com/petehunt/jsx-loader) с включенным флагом 'harmony' –