2017-01-17 9 views
1

私はこの悲しいことに適切な答えが見つかりませんでした。React Nativeで生産コードと開発コードを分離する方法は?

私は現在reduxの反応ネイティブアプリを開発していますが、一部の開発ツールではリリースバージョンが遅くなっていることがわかりました。

はここに例を示します

const store = createStore(
    Reducers, 
    composeWithDevTools(
    applyMiddleware(thunk), 
), 
); 

そしてこのcomposeWithDevToolsは明らかにいくつかの開発ツールであるとreleaseに私はcomposeと呼ばれる別の関数を使用する必要があります。それは自動的に私が考慮右のコードサンプルを選ぶだろう

//development 
const store = createStore(
    Reducers, 
    composeWithDevTools(
    applyMiddleware(thunk), 
), 
); 
//production 
const store = createStore(
    Reducers, 
    composeWithDevTools(
    applyMiddleware(thunk), 
), 
); 
//end 

: 私は何をしたいのですが、このようなものになるだろう。 (開発またはリリース)。

私はこれに使用できるツールを知っていますか?事前

答えて

4

ありがとうございます__DEV__グローバル定数を使用することができます。さらに、定数で保護されたコードを完全に削除するのに十分なスマートなコンパイル・コンパイラも用意されているので、コード・サイズを減らすこともできます。

たとえば、私たちは店を初期化するために、このコードを使用します。

function setupStore(extra = {}) { 
    const middlewares = [thunk.withExtraArgument(extra)] 
    if (__DEV__) { 
    const createLogger = require('redux-logger') 
    const logger = createLogger() 
    middlewares.push(logger) 
    } 
    const store = createStore(reducer, applyMiddleware(...middlewares), autoRehydrate()) 
    return store 
} 
+0

それは実際に動作します!私はこれに 'eslint'エラーがありますが、何でも、私はそれを把握します:P ありがとう:) –

関連する問題