2016-03-24 2 views
0

Я пытаюсь использовать redux-router в проекте, но я не могу заставить его работать.Ошибка React.createElement с использованием ReduxRouter

Вот определение моих маршрутов (частичное):

export default function(store) { 
    return (
    <Route path="/" component={Main}> 
     [ALL NESTED ROUTES] 
    </Route> 
) 
} 

Мои маршруты хорошо работают с среагировать-маршрутизатор.

И тогда мой код инициализации (частичное):

import ReduxRouter from 'redux-router' 
import {Provider} from 'react-redux' 
[...] 

const routes = Routes(store); 

class Root extends Component { 
    render() { 
     return (
      <div> 
       <Provider store={store}> 
        <ReduxRouter>{routes}</ReduxRouter> 
       </Provider> 
      </div> 
     ); 
    } 
} 

ReactDOM.render(<Root />, document.getElementById('content')); 

Я получаю следующее сообщение об ошибке на createElement в ReduxRouter в:

Предупреждение: React.createElement: тип не должен быть пустым, не определено, boolean, или номер. Он должен быть строкой (для элементов DOM) или ReactClass (для составных компонентов).

Я получаю следующее сообщение об ошибке, если я просто пытаюсь написать консоли:

<ReduxRouter>{routes}</ReduxRouter> 

В консоли, я получаю Symbol(react.element) с правильным реквизитом (мои маршруты, как дети), но с типом undefined

Как следствие, я тогда получаю:

Uncaught Инвариантных Нарушения: Тип элемента недействителен: ожидали-строка (для встроенных компонентов) или класс/функция (для составных компонентов ), но получили: undefined. Проверьте метод рендеринга Root.

Что мне не хватает?

ответ

0

ОК, это было глупо. Я просто импортировал ReduxRouter неправильно.

Правильный импорт:

import { ReduxRouter } from 'redux-router' 

Благодаря @tomo из Reactiflux за указание, что из!