2016-07-12 2 views
0

Я предпочитаю пересказывать через webpack, но есть проблема в среде браузера, которую я не могу исправить. Я использую реакцию, редукцию и реакцию, и я готов перезагрузить горячий модуль, как тот, который реагирует на hotpacker на среду webpack. Я использую livereactload для достижения этого (попробовал браузеру-hmr тоже), проблема в том, что он не работает с redux. Пример его сокращения (https://github.com/milankinen/livereactload/blob/master/examples/02-redux) не работает на свежий клон. Это вообще возможно? Может ли кто-нибудь дать мне изменения, необходимые для применения к примеру, чтобы заставить его работать?Перезагрузка горячего модуля с помощью браузера, сокращения и реагирования-маршрута

P.S. посмотрите на этот вопрос https://github.com/milankinen/livereactload/issues/64

ответ

0

Моя проблема с redux том, что я не использовал ни [email protected]babel-plugin-react-transform, так что мои компоненты не были завернуты в прокси. Новые версии livereactload выдаст ошибку, если вы используете его без react-proxy или babel-plugin-react-transform взгляд на это: https://github.com/milankinen/livereactload/issues/64#issuecomment-231992217

Моя проблема с react-route было то, что я использую компонент, определенный в качестве функции стрелки в директиве маршрута. Очевидно, livereactload не поддерживает это. Он был решен с помощью компонента класса вместо функции-стрелки. Объяснение здесь: https://github.com/milankinen/livereactload/issues/43#issuecomment-231990841

2

Я использую его, но как плагин watchify: плагин (требуется (livereactload)), и он работает нормально.

У меня есть LiveReactload :: Пакет изменен и обновлена ​​страница, но также и это предупреждение: browser.js: 51 Предупреждение: [реагировать-маршрутизатор] Вы не можете изменить; он будет проигнорирован.

По-прежнему он выполняет «локальную» перезагрузку, но не «истинную» горячую перезагрузку, так как многие вещи все еще перерисовываются и не достигают столько, сколько я бы хотел.

Единственное, что нам нужно добавить, чтобы настроить магазин является следующее:

export default function configureStore(initialState) { 
    const store = createStoreWithMiddleware(rootReducer, initialState); 

    // React hot reload 
    if (module.onReload) { 
    module.onReload(() => { 
     const nextReducer = require('../reducers'); 
     store.replaceReducer(nextReducer.default || nextReducer); 
     // return true to indicate that this module is accepted and 
     // there is no need to reload its parent modules 
     return true; 
    }); 
    } 

    return store; 
} 
+0

Спасибо за информацию. Я решил проблему, как я описал в своем ответе. – Sassan

Смежные вопросы