react-native #redux #redux-toolkit #redux-devtools #flipper
#react-native #redux #redux-toolkit #redux-devtools #flipper
Вопрос:
Я использую React Native версии 0.65.1 (React Native CLI) и настольное приложение Flipper версии 0.114.1 в ОС Windows 10. В моем приложении React Native я использую Redux toolkit. Насколько я мог судить, RN выше версии 0.62 должен поддерживать Flipper из коробки, а Redux toolkit не запрашивает дополнительную конфигурацию промежуточного программного обеспечения для flipper.
Я попытался установить пакет npm flipper-plugin-redux-debugger и ничего, Redux Debugger в Flipper по-прежнему недоступен.
В чем моя проблема?
Комментарии:
1. Вы выполнили эти шаги?: github.com/jk-gan/flipper-plugin-redux-debugger#get-started
2. @ridvanaltun да, и, как говорится в документации, «Начиная с React Native 0.62, после создания вашего проекта с помощью react-native init интеграция Flipper готова из коробки для отладочных сборок», поэтому дополнительная настройка не требуется…
3. В документации говорится, что если вы используете RN 0.62 , вам не нужно устанавливать
Flipper
в свой проект промежуточное ПО redux.4. @ridvanaltun да, мой плохой, может быть, вы можете подсказать мне, как добавить его в мой магазин инструментов redux?
5. Извините, я не использовал инструментарий redux, поэтому я не знаю. Я думаю, что конфигурация очень похожа на обычную Redux, нужно прочитать официальную документацию или посмотреть несколько руководств.
Ответ №1:
@Tymoxx ответ правильный, я просто хочу подчеркнуть, что не включайте отладчик в производственном приложении. Изменение этого поможет
const createDebugger = require('redux-flipper').defau< // <-- ADD THIS
const configureCustomStore = () => {
const rootReducer = combineReducers({});
const store = configureStore({
reducer: rootReducer,
middleware: (getDefaultMiddleware) => __DEV__ ?
getDefaultMiddleware({ serializableCheck: false}).concat(createDebugger()) :
getDefaultMiddleware({
serializableCheck: false}),
});
return {store};
};
export const {store} = configureCustomStore();
Комментарии:
1. Спасибо вам обоим, это очень помогает!
Ответ №2:
Вот как вы добавляете Flipper, если используете Redux Toolkit:
const createDebugger = require('redux-flipper').default; // <-- ADD THIS
const configureCustomStore = () => {
const rootReducer = combineReducers({
// ... YOUR REDUCERS
});
const store = configureStore({
reducer: rootReducer,
middleware: (getDefaultMiddleware) =>
getDefaultMiddleware()
.concat(createDebugger()), // <-- ADD THIS
});
return {store};
};
export const {store} = configureCustomStore();
Обратите внимание, если вы используете пользовательский клиент разработки от Expo, вам нужно будет перестроить приложение.