如何在React Native中分离生产和开发代码?

Gui*_*sch 1 react-native

我遗憾地没有找到任何正确的答案.

我目前正在开发一个反应原生的应用程序,redux我发现一些开发工具使发布版本变慢了.

这是一个例子:

const store = createStore(
  Reducers,
  composeWithDevTools(
    applyMiddleware(thunk),
  ),
);
Run Code Online (Sandbox Code Playgroud)

composeWithDevTools显然是一些开发工具,release我应该使用另一个函数调用compose.我想做的事情是这样的:

//development
const store = createStore(
  Reducers,
  composeWithDevTools(
    applyMiddleware(thunk),
  ),
);
//production
const store = createStore(
  Reducers,
  composeWithDevTools(
    applyMiddleware(thunk),
  ),
);
//end
Run Code Online (Sandbox Code Playgroud)

考虑到我在哪里,它会自动选择正确的代码示例.(开发或发布).

你们知道我可以使用的一些工具吗?

提前致谢

小智 8

您可以使用__DEV__全局常量.而且,babel编译器足够聪明,可以完全删除由常量保护的代码,因此您还可以减少代码大小.

例如,我们使用此代码初始化商店:

function setupStore(extra = {}) {
  const middlewares = [thunk.withExtraArgument(extra)]
  if (__DEV__) {
    const createLogger = require('redux-logger').createLogger // redux-logger 3.x
    const logger = createLogger()
    middlewares.push(logger)
  }
  const store = createStore(reducer, applyMiddleware(...middlewares), autoRehydrate())
  return store
}
Run Code Online (Sandbox Code Playgroud)