<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [OHIF-Viewers]醫療數字閱片-醫學影像-輔助工具-Redux DevTools-DevTools for Redux with hot reloading, action replay, and customizable UI

      [OHIF-Viewers]醫療數字閱片-醫學影像-輔助工具-Redux DevTools-DevTools for Redux with hot reloading, action replay, and customizable UI

      Redux DevTools for debugging application's state changes.
      The extension provides power-ups for your Redux development workflow. Apart from Redux, it can be used with any other architectures which handle the state.

      It's an opensource project. See the official repository for more details:

      https://github.com/zalmoxisus/redux-devtools-extension

      Redux DevTools Extension

      Join the chat at https://gitter.im/zalmoxisus/redux-devtools-extension PRs Welcome OpenCollective OpenCollective

      Demo

      Installation

      1. For Chrome

      • from Chrome Web Store;
      • or download extension.zip from last releases, unzip, open chrome://extensions url and turn on developer mode from top left and then click; on Load Unpacked and select the extracted folder for use
      • or build it with npm i && npm run build:extension and load the extension's folder ./build/extension;
      • or run it in dev mode with npm i && npm start and load the extension's folder ./dev.

      2. For Firefox

      3. For Electron

      4. For other browsers and non-browser environment

      Usage

      Note that starting from v2.7, window.devToolsExtension was renamed to window.__REDUX_DEVTOOLS_EXTENSION__ / window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__.

      1. With Redux

      1.1 Basic store

      For a basic Redux store simply add:

       const store = createStore(
         reducer, /* preloadedState, */
      +  window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
       );

      Note that preloadedState argument is optional in Redux's createStore.

      For universal ("isomorphic") apps, prefix it with typeof window !== 'undefined' &&.

      const composeEnhancers = (typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__) || compose;

      For TypeScript use redux-devtools-extension npm package, which contains all the definitions, or just use (window as any) (see Recipes for an example).

      const composeEnhancers = (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;

      In case ESLint is configured to not allow using the underscore dangle, wrap it like so:

      + /* eslint-disable no-underscore-dangle */
        const store = createStore(
         reducer, /* preloadedState, */
         window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
        );
      + /* eslint-enable */

      Note: Passing enhancer as last argument requires redux@>=3.1.0. For older versions apply it like here or here. Don't mix the old Redux API with the new one.

      You don't need to npm install redux-devtools when using the extension (that's a different lib).

      1.2 Advanced store setup

      If you setup your store with middleware and enhancers, change:

        import { createStore, applyMiddleware, compose } from 'redux';
      
      + const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
      + const store = createStore(reducer, /* preloadedState, */ composeEnhancers(
      - const store = createStore(reducer, /* preloadedState, */ compose(
          applyMiddleware(...middleware)
        ));

      Note that when the extension is not installed, we’re using Redux compose here.

      To specify extension’s options, use it like so:

      const composeEnhancers =
        typeof window === 'object' &&
        window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ?   
          window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({
            // Specify extension’s options like name, actionsBlacklist, actionsCreators, serialize...
          }) : compose;
      
      const enhancer = composeEnhancers(
        applyMiddleware(...middleware),
        // other store enhancers if any
      );
      const store = createStore(reducer, enhancer);

      See the post for more details.

      1.3 Use redux-devtools-extension package from npm

      To make things easier, there's an npm package to install:

      npm install --save redux-devtools-extension
      

      and to use like so:

      import { createStore, applyMiddleware } from 'redux';
      import { composeWithDevTools } from 'redux-devtools-extension';
      
      const store = createStore(reducer, composeWithDevTools(
        applyMiddleware(...middleware),
        // other store enhancers if any
      ));

      To specify extension’s options:

      import { createStore, applyMiddleware } from 'redux';
      import { composeWithDevTools } from 'redux-devtools-extension';
      
      const composeEnhancers = composeWithDevTools({
        // Specify name here, actionsBlacklist, actionsCreators and other options if needed
      });
      const store = createStore(reducer, /* preloadedState, */ composeEnhancers(
        applyMiddleware(...middleware),
        // other store enhancers if any
      ));

      There’re just few lines of code added to your bundle.

      In case you don't include other enhancers and middlewares, just use devToolsEnhancer:

      import { createStore } from 'redux';
      import { devToolsEnhancer } from 'redux-devtools-extension';
      
      const store = createStore(reducer, /* preloadedState, */ devToolsEnhancer(
        // Specify name here, actionsBlacklist, actionsCreators and other options if needed
      ));

      1.4 Using in production

      It's useful to include the extension in production as well. Usually you can use it for development.

      If you want to restrict it there, use redux-devtools-extension/logOnlyInProduction:

      import { createStore } from 'redux';
      import { devToolsEnhancer } from 'redux-devtools-extension/logOnlyInProduction';
      
      const store = createStore(reducer, /* preloadedState, */ devToolsEnhancer(
        // options like actionSanitizer, stateSanitizer
      ));

      or with middlewares and enhancers:

      import { createStore, applyMiddleware } from 'redux';
      import { composeWithDevTools } from 'redux-devtools-extension/logOnlyInProduction';
      
      const composeEnhancers = composeWithDevTools({
        // options like actionSanitizer, stateSanitizer
      });
      const store = createStore(reducer, /* preloadedState, */ composeEnhancers(
        applyMiddleware(...middleware),
        // other store enhancers if any
      ));

      You'll have to add 'process.env.NODE_ENV': JSON.stringify('production') in your Webpack config for the production bundle (to envify). If you use create-react-appit already does it for you.

      If you're already checking process.env.NODE_ENV when creating the store, include redux-devtools-extension/logOnly for production environment.

      If you don’t want to allow the extension in production, just use redux-devtools-extension/developmentOnly.

      See the article for more details.

      1.5 For React Native, hybrid, desktop and server side Redux apps

      For React Native we can use react-native-debugger, which already included the same API with Redux DevTools Extension.

      For most platforms, include Remote Redux DevTools's store enhancer, and from the extension's context menu choose 'Open Remote DevTools' for remote monitoring.

      2. Without Redux

      See integrations and the blog post for more details on how to use the extension with any architecture.

      Docs

      Demo

      Live demos to use the extension with:

      Also see ./examples folder.

       

       
      posted @ 2020-07-22 16:52  landv  閱讀(456)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 欧美老人巨大XXXX做受视频| 亚洲国产av无码综合原创国产| 日韩高清国产中文字幕| 国产精品一线天在线播放| 丰满无码人妻热妇无码区| 午夜AAAAA级岛国福利在线| 老司机性色福利精品视频| 精品久久丝袜熟女一二三| 推油少妇久久99久久99久久| 国内精品综合九九久久精品| 平江县| 激情综合网激情五月俺也想| 商水县| 深夜免费av在线观看| 99精品国产中文字幕| 亚洲精品一区二区三区综合 | 强开小雪的嫩苞又嫩又紧| 亚洲精品国产精品乱码不卡| 在线国产毛片| 亚洲精品美女一区二区| av色综合久久天堂av色综合在| 中文字幕无码视频手机免费看| 亚洲乱人伦中文字幕无码| 久草热大美女黄色片免费看| 亚洲国产在一区二区三区| 十八禁午夜福利免费网站| 最新亚洲人成网站在线影院| 美日韩在线视频一区二区三区| 综合图区亚洲另类偷窥| 中文无码人妻有码人妻中文字幕| 亚洲乱码一区二区三区视色| 国产欧美日韩免费看AⅤ视频 | www插插插无码免费视频网站| 17岁日本免费bd完整版观看| 激情综合一区二区三区| 久久天天躁狠狠躁夜夜不卡| 日韩精品中文字幕有码| 中文字幕日韩有码国产| 成A人片亚洲日本久久| 日韩加勒比一本无码精品| 色噜噜噜亚洲男人的天堂|