Showing
14 changed files
with
237 additions
and
14 deletions
| 1 | -/** | ||
| 2 | - * Sample React Native App | ||
| 3 | - * https://github.com/facebook/react-native | ||
| 4 | - * | ||
| 5 | - * Generated with the TypeScript template | ||
| 6 | - * https://github.com/react-native-community/react-native-template-typescript | ||
| 7 | - * | ||
| 8 | - * @format | ||
| 9 | - */ | ||
| 10 | - | ||
| 11 | import React from 'react'; | 1 | import React from 'react'; |
| 2 | +import { Provider as ReduxProvider } from 'react-redux'; | ||
| 3 | +import { PersistGate } from 'redux-persist/integration/react'; | ||
| 12 | import { DarkModeProvider } from 'react-native-dark-mode'; | 4 | import { DarkModeProvider } from 'react-native-dark-mode'; |
| 13 | import { enableScreens } from 'react-native-screens'; | 5 | import { enableScreens } from 'react-native-screens'; |
| 14 | import { enableES5 } from 'immer'; | 6 | import { enableES5 } from 'immer'; |
| 15 | import AppNavigationContainer from './src/screen/AppNavigationContainer'; | 7 | import AppNavigationContainer from './src/screen/AppNavigationContainer'; |
| 16 | import { I18NProvider } from './src/i18n'; | 8 | import { I18NProvider } from './src/i18n'; |
| 17 | import { Platform } from 'react-native'; | 9 | import { Platform } from 'react-native'; |
| 10 | +import { store, persistor } from './src/store'; | ||
| 18 | 11 | ||
| 19 | declare var global: { HermesInternal: null | {} }; | 12 | declare var global: { HermesInternal: null | {} }; |
| 20 | if (Platform.OS === 'android' && global.HermesInternal) { | 13 | if (Platform.OS === 'android' && global.HermesInternal) { |
| @@ -33,11 +26,15 @@ enableScreens(); | @@ -33,11 +26,15 @@ enableScreens(); | ||
| 33 | 26 | ||
| 34 | const App = () => { | 27 | const App = () => { |
| 35 | return ( | 28 | return ( |
| 29 | + <ReduxProvider store={store}> | ||
| 30 | + <PersistGate persistor={persistor}> | ||
| 36 | <I18NProvider> | 31 | <I18NProvider> |
| 37 | <DarkModeProvider> | 32 | <DarkModeProvider> |
| 38 | <AppNavigationContainer /> | 33 | <AppNavigationContainer /> |
| 39 | </DarkModeProvider> | 34 | </DarkModeProvider> |
| 40 | </I18NProvider> | 35 | </I18NProvider> |
| 36 | + </PersistGate> | ||
| 37 | + </ReduxProvider> | ||
| 41 | ); | 38 | ); |
| 42 | }; | 39 | }; |
| 43 | 40 |
| @@ -318,6 +318,8 @@ PODS: | @@ -318,6 +318,8 @@ PODS: | ||
| 318 | - React | 318 | - React |
| 319 | - ReactNativeDarkMode (0.2.2): | 319 | - ReactNativeDarkMode (0.2.2): |
| 320 | - React | 320 | - React |
| 321 | + - RNCAsyncStorage (1.9.0): | ||
| 322 | + - React | ||
| 321 | - RNCMaskedView (0.1.7): | 323 | - RNCMaskedView (0.1.7): |
| 322 | - React | 324 | - React |
| 323 | - RNDeviceInfo (5.5.4): | 325 | - RNDeviceInfo (5.5.4): |
| @@ -395,6 +397,7 @@ DEPENDENCIES: | @@ -395,6 +397,7 @@ DEPENDENCIES: | ||
| 395 | - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) | 397 | - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) |
| 396 | - "ReactNativeART (from `../node_modules/@react-native-community/art`)" | 398 | - "ReactNativeART (from `../node_modules/@react-native-community/art`)" |
| 397 | - ReactNativeDarkMode (from `../node_modules/react-native-dark-mode`) | 399 | - ReactNativeDarkMode (from `../node_modules/react-native-dark-mode`) |
| 400 | + - "RNCAsyncStorage (from `../node_modules/@react-native-community/async-storage`)" | ||
| 398 | - "RNCMaskedView (from `../node_modules/@react-native-community/masked-view`)" | 401 | - "RNCMaskedView (from `../node_modules/@react-native-community/masked-view`)" |
| 399 | - RNDeviceInfo (from `../node_modules/react-native-device-info`) | 402 | - RNDeviceInfo (from `../node_modules/react-native-device-info`) |
| 400 | - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) | 403 | - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) |
| @@ -493,6 +496,8 @@ EXTERNAL SOURCES: | @@ -493,6 +496,8 @@ EXTERNAL SOURCES: | ||
| 493 | :path: "../node_modules/@react-native-community/art" | 496 | :path: "../node_modules/@react-native-community/art" |
| 494 | ReactNativeDarkMode: | 497 | ReactNativeDarkMode: |
| 495 | :path: "../node_modules/react-native-dark-mode" | 498 | :path: "../node_modules/react-native-dark-mode" |
| 499 | + RNCAsyncStorage: | ||
| 500 | + :path: "../node_modules/@react-native-community/async-storage" | ||
| 496 | RNCMaskedView: | 501 | RNCMaskedView: |
| 497 | :path: "../node_modules/@react-native-community/masked-view" | 502 | :path: "../node_modules/@react-native-community/masked-view" |
| 498 | RNDeviceInfo: | 503 | RNDeviceInfo: |
| @@ -564,6 +569,7 @@ SPEC CHECKSUMS: | @@ -564,6 +569,7 @@ SPEC CHECKSUMS: | ||
| 564 | ReactCommon: 3585806280c51d5c2c0d3aa5a99014c3badb629d | 569 | ReactCommon: 3585806280c51d5c2c0d3aa5a99014c3badb629d |
| 565 | ReactNativeART: 78edc68dd4a1e675338cd0cd113319cf3a65f2ab | 570 | ReactNativeART: 78edc68dd4a1e675338cd0cd113319cf3a65f2ab |
| 566 | ReactNativeDarkMode: 0178ffca3b10f6a7c9f49d6f9810232b328fa949 | 571 | ReactNativeDarkMode: 0178ffca3b10f6a7c9f49d6f9810232b328fa949 |
| 572 | + RNCAsyncStorage: 453cd7c335ec9ba3b877e27d02238956b76f3268 | ||
| 567 | RNCMaskedView: 76c40a1d41c3e2535df09246a2b5487f04de0814 | 573 | RNCMaskedView: 76c40a1d41c3e2535df09246a2b5487f04de0814 |
| 568 | RNDeviceInfo: 6a3d16fce033f6979c4a6a41e62244d183e8c765 | 574 | RNDeviceInfo: 6a3d16fce033f6979c4a6a41e62244d183e8c765 |
| 569 | RNGestureHandler: 8f09cd560f8d533eb36da5a6c5a843af9f056b38 | 575 | RNGestureHandler: 8f09cd560f8d533eb36da5a6c5a843af9f056b38 |
| @@ -16,6 +16,7 @@ | @@ -16,6 +16,7 @@ | ||
| 16 | "@huse/previous-value": "^1.0.1", | 16 | "@huse/previous-value": "^1.0.1", |
| 17 | "@phecdas/react-native-code": "^1.0.0-1", | 17 | "@phecdas/react-native-code": "^1.0.0-1", |
| 18 | "@react-native-community/art": "^1.2.0", | 18 | "@react-native-community/art": "^1.2.0", |
| 19 | + "@react-native-community/async-storage": "^1.9.0", | ||
| 19 | "@react-native-community/masked-view": "^0.1.7", | 20 | "@react-native-community/masked-view": "^0.1.7", |
| 20 | "@react-native-community/netinfo": "^5.7.1", | 21 | "@react-native-community/netinfo": "^5.7.1", |
| 21 | "@react-navigation/bottom-tabs": "^5.2.5", | 22 | "@react-navigation/bottom-tabs": "^5.2.5", |
| @@ -43,6 +44,11 @@ | @@ -43,6 +44,11 @@ | ||
| 43 | "react-native-tab-view": "^2.13.0", | 44 | "react-native-tab-view": "^2.13.0", |
| 44 | "react-native-vector-icons": "^6.6.0", | 45 | "react-native-vector-icons": "^6.6.0", |
| 45 | "react-native-webview": "9.1.1", | 46 | "react-native-webview": "9.1.1", |
| 47 | + "react-redux": "^7.2.0", | ||
| 48 | + "redux": "^4.0.5", | ||
| 49 | + "redux-logger": "^3.0.6", | ||
| 50 | + "redux-persist": "^6.0.0", | ||
| 51 | + "typesafe-actions": "^5.1.0", | ||
| 46 | "url-parse": "^1.4.7" | 52 | "url-parse": "^1.4.7" |
| 47 | }, | 53 | }, |
| 48 | "devDependencies": { | 54 | "devDependencies": { |
| @@ -53,7 +59,9 @@ | @@ -53,7 +59,9 @@ | ||
| 53 | "@react-native-community/eslint-config": "^1.0.0", | 59 | "@react-native-community/eslint-config": "^1.0.0", |
| 54 | "@types/jest": "^24.0.24", | 60 | "@types/jest": "^24.0.24", |
| 55 | "@types/react-native": "^0.62.0", | 61 | "@types/react-native": "^0.62.0", |
| 62 | + "@types/react-redux": "^7.1.7", | ||
| 56 | "@types/react-test-renderer": "16.9.2", | 63 | "@types/react-test-renderer": "16.9.2", |
| 64 | + "@types/redux-logger": "^3.0.7", | ||
| 57 | "@types/url-parse": "^1.4.3", | 65 | "@types/url-parse": "^1.4.3", |
| 58 | "@typescript-eslint/eslint-plugin": "^2.27.0", | 66 | "@typescript-eslint/eslint-plugin": "^2.27.0", |
| 59 | "@typescript-eslint/parser": "^2.27.0", | 67 | "@typescript-eslint/parser": "^2.27.0", |
src/store/configureStore.ts
0 → 100644
| 1 | +import Types from 'local-types'; | ||
| 2 | +import { createStore, applyMiddleware } from 'redux'; | ||
| 3 | +import rootReducer from './rootReducer'; | ||
| 4 | +import { persistStore, persistReducer, PersistConfig } from 'redux-persist'; | ||
| 5 | +import AsyncStorage from '@react-native-community/async-storage'; | ||
| 6 | +import logger from 'redux-logger'; | ||
| 7 | + | ||
| 8 | +const persistConfig: PersistConfig<Types.RootState> = { | ||
| 9 | + storage: AsyncStorage, | ||
| 10 | + key: 'root', | ||
| 11 | +}; | ||
| 12 | + | ||
| 13 | +const persistedReducer = persistReducer(persistConfig, rootReducer); | ||
| 14 | + | ||
| 15 | +export const store = createStore(persistedReducer, applyMiddleware(logger)); | ||
| 16 | + | ||
| 17 | +export const persistor = persistStore(store); |
src/store/hooks.ts
0 → 100644
| 1 | +import { useSelector, useDispatch } from 'react-redux'; | ||
| 2 | +import Types from 'local-types'; | ||
| 3 | +import { Dispatch } from 'redux'; | ||
| 4 | + | ||
| 5 | +type ReduxStateKey = keyof Types.RootState; | ||
| 6 | +export function useReduxState<K extends ReduxStateKey>( | ||
| 7 | + key: K | ||
| 8 | +): Types.RootState[K] { | ||
| 9 | + return useSelector((state: Types.RootState) => state[key]); | ||
| 10 | +} | ||
| 11 | + | ||
| 12 | +/** | ||
| 13 | + * 获取 dispatch 对象 | ||
| 14 | + * | ||
| 15 | + * @example | ||
| 16 | + * const dispatch = useReduxDispatch(); | ||
| 17 | + * dispatch(rootActions.userActions.onUpdateUserInfo({ nickname: 'test' })); | ||
| 18 | + */ | ||
| 19 | +export function useReduxDispatch() { | ||
| 20 | + return useDispatch<Dispatch<Types.RootAction>>(); | ||
| 21 | +} |
src/store/index.ts
0 → 100644
src/store/rootActions.ts
0 → 100644
src/store/rootReducer.ts
0 → 100644
src/store/types.d.ts
0 → 100644
| 1 | +import { StateType, ActionType } from 'typesafe-actions'; | ||
| 2 | + | ||
| 3 | +declare module 'local-types' { | ||
| 4 | + export type Store = StateType<typeof import('./configureStore').store>; | ||
| 5 | + export type RootAction = ActionType<typeof import('./rootActions').default>; | ||
| 6 | + export type RootState = StateType<typeof import('./rootReducer').default>; | ||
| 7 | +} | ||
| 8 | + | ||
| 9 | +declare module 'typesafe-actions' { | ||
| 10 | + interface Types { | ||
| 11 | + RootAction: ActionType<typeof import('./rootActions').default>; | ||
| 12 | + } | ||
| 13 | +} |
src/store/user/action.ts
0 → 100644
| 1 | +import { createAction } from 'typesafe-actions'; | ||
| 2 | +import { UserActionTypes, User } from './types'; | ||
| 3 | + | ||
| 4 | +export const setToken = createAction(UserActionTypes.SET_TOKEN)<string>(); | ||
| 5 | + | ||
| 6 | +export const setCurrentUser = createAction(UserActionTypes.SET_CURRENT)<User>(); | ||
| 7 | + | ||
| 8 | +export const addUser = createAction(UserActionTypes.ADD_USER)<User>(); |
src/store/user/reducer.ts
0 → 100644
| 1 | +import produce from 'immer'; | ||
| 2 | +import Types from 'local-types'; | ||
| 3 | +import { UserState, UserActionTypes } from './types'; | ||
| 4 | +import { Reducer } from 'typesafe-actions'; | ||
| 5 | + | ||
| 6 | +const initialState: UserState = { list: [] }; | ||
| 7 | + | ||
| 8 | +const reducer: Reducer<UserState, Types.RootAction> = ( | ||
| 9 | + state = initialState, | ||
| 10 | + action | ||
| 11 | +) => | ||
| 12 | + produce(state, draft => { | ||
| 13 | + switch (action.type) { | ||
| 14 | + case UserActionTypes.ADD_USER: | ||
| 15 | + draft.list.splice(0, 0, action.payload); | ||
| 16 | + break; | ||
| 17 | + case UserActionTypes.SET_CURRENT: | ||
| 18 | + draft.current = action.payload; | ||
| 19 | + break; | ||
| 20 | + case UserActionTypes.SET_TOKEN: | ||
| 21 | + draft.token = action.payload; | ||
| 22 | + } | ||
| 23 | + }); | ||
| 24 | + | ||
| 25 | +export default reducer; |
src/store/user/types.ts
0 → 100644
| 1 | +export interface User { | ||
| 2 | + name: string; | ||
| 3 | +} | ||
| 4 | + | ||
| 5 | +export enum UserActionTypes { | ||
| 6 | + SET_TOKEN = '@@user/SET_TOKEN', | ||
| 7 | + SET_CURRENT = '@@user/SET_CURRENT', | ||
| 8 | + ADD_USER = '@@user/ADD_USER', | ||
| 9 | +} | ||
| 10 | + | ||
| 11 | +export interface UserState { | ||
| 12 | + current?: User; | ||
| 13 | + token?: string; | ||
| 14 | + list: User[]; | ||
| 15 | +} |
| 1 | +declare module 'local-types'; | ||
| 2 | + | ||
| 1 | declare type NVPair<V = string> = { name: string; value: V }; | 3 | declare type NVPair<V = string> = { name: string; value: V }; |
| 2 | 4 | ||
| 3 | declare type PromiseResult<T extends Promise<any>> = T extends Promise<infer U> | 5 | declare type PromiseResult<T extends Promise<any>> = T extends Promise<infer U> |
| @@ -624,7 +624,7 @@ | @@ -624,7 +624,7 @@ | ||
| 624 | core-js-pure "^3.0.0" | 624 | core-js-pure "^3.0.0" |
| 625 | regenerator-runtime "^0.13.4" | 625 | regenerator-runtime "^0.13.4" |
| 626 | 626 | ||
| 627 | -"@babel/runtime@^7.0.0", "@babel/runtime@^7.6.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": | 627 | +"@babel/runtime@^7.0.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": |
| 628 | version "7.9.2" | 628 | version "7.9.2" |
| 629 | resolved "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.9.2.tgz#d90df0583a3a252f09aaa619665367bae518db06" | 629 | resolved "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.9.2.tgz#d90df0583a3a252f09aaa619665367bae518db06" |
| 630 | integrity sha1-2Q3wWDo6JS8JqqYZZlNnuuUY2wY= | 630 | integrity sha1-2Q3wWDo6JS8JqqYZZlNnuuUY2wY= |
| @@ -1054,6 +1054,13 @@ | @@ -1054,6 +1054,13 @@ | ||
| 1054 | invariant "^2.2.4" | 1054 | invariant "^2.2.4" |
| 1055 | prop-types "^15.7.2" | 1055 | prop-types "^15.7.2" |
| 1056 | 1056 | ||
| 1057 | +"@react-native-community/async-storage@^1.9.0": | ||
| 1058 | + version "1.9.0" | ||
| 1059 | + resolved "https://registry.npm.taobao.org/@react-native-community/async-storage/download/@react-native-community/async-storage-1.9.0.tgz?cache=0&sync_timestamp=1585815408575&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40react-native-community%2Fasync-storage%2Fdownload%2F%40react-native-community%2Fasync-storage-1.9.0.tgz#af26a8879bd2987970fbbe81a9623851d29a56f1" | ||
| 1060 | + integrity sha1-ryaoh5vSmHlw+76BqWI4UdKaVvE= | ||
| 1061 | + dependencies: | ||
| 1062 | + deep-assign "^3.0.0" | ||
| 1063 | + | ||
| 1057 | "@react-native-community/cli-debugger-ui@^4.2.1": | 1064 | "@react-native-community/cli-debugger-ui@^4.2.1": |
| 1058 | version "4.2.1" | 1065 | version "4.2.1" |
| 1059 | resolved "https://registry.npm.taobao.org/@react-native-community/cli-debugger-ui/download/@react-native-community/cli-debugger-ui-4.2.1.tgz?cache=0&sync_timestamp=1582652910092&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40react-native-community%2Fcli-debugger-ui%2Fdownload%2F%40react-native-community%2Fcli-debugger-ui-4.2.1.tgz#da22aa1cf8d04fe1aa2759873916473e81c4450b" | 1066 | resolved "https://registry.npm.taobao.org/@react-native-community/cli-debugger-ui/download/@react-native-community/cli-debugger-ui-4.2.1.tgz?cache=0&sync_timestamp=1582652910092&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40react-native-community%2Fcli-debugger-ui%2Fdownload%2F%40react-native-community%2Fcli-debugger-ui-4.2.1.tgz#da22aa1cf8d04fe1aa2759873916473e81c4450b" |
| @@ -1300,6 +1307,14 @@ | @@ -1300,6 +1307,14 @@ | ||
| 1300 | resolved "https://registry.npm.taobao.org/@types/hammerjs/download/@types/hammerjs-2.0.36.tgz#17ce0a235e9ffbcdcdf5095646b374c2bf615a4c" | 1307 | resolved "https://registry.npm.taobao.org/@types/hammerjs/download/@types/hammerjs-2.0.36.tgz#17ce0a235e9ffbcdcdf5095646b374c2bf615a4c" |
| 1301 | integrity sha1-F84KI16f+83N9QlWRrN0wr9hWkw= | 1308 | integrity sha1-F84KI16f+83N9QlWRrN0wr9hWkw= |
| 1302 | 1309 | ||
| 1310 | +"@types/hoist-non-react-statics@^3.3.0": | ||
| 1311 | + version "3.3.1" | ||
| 1312 | + resolved "https://registry.npm.taobao.org/@types/hoist-non-react-statics/download/@types/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f" | ||
| 1313 | + integrity sha1-ESSq/lEYy1kZd66xzqrtEHDrA58= | ||
| 1314 | + dependencies: | ||
| 1315 | + "@types/react" "*" | ||
| 1316 | + hoist-non-react-statics "^3.3.0" | ||
| 1317 | + | ||
| 1303 | "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": | 1318 | "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": |
| 1304 | version "2.0.1" | 1319 | version "2.0.1" |
| 1305 | resolved "https://registry.npm.taobao.org/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" | 1320 | resolved "https://registry.npm.taobao.org/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" |
| @@ -1357,6 +1372,16 @@ | @@ -1357,6 +1372,16 @@ | ||
| 1357 | dependencies: | 1372 | dependencies: |
| 1358 | "@types/react" "*" | 1373 | "@types/react" "*" |
| 1359 | 1374 | ||
| 1375 | +"@types/react-redux@^7.1.7": | ||
| 1376 | + version "7.1.7" | ||
| 1377 | + resolved "https://registry.npm.taobao.org/@types/react-redux/download/@types/react-redux-7.1.7.tgz?cache=0&sync_timestamp=1580865748465&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Freact-redux%2Fdownload%2F%40types%2Freact-redux-7.1.7.tgz#12a0c529aba660696947384a059c5c6e08185c7a" | ||
| 1378 | + integrity sha1-EqDFKaumYGlpRzhKBZxcbggYXHo= | ||
| 1379 | + dependencies: | ||
| 1380 | + "@types/hoist-non-react-statics" "^3.3.0" | ||
| 1381 | + "@types/react" "*" | ||
| 1382 | + hoist-non-react-statics "^3.3.0" | ||
| 1383 | + redux "^4.0.0" | ||
| 1384 | + | ||
| 1360 | "@types/react-test-renderer@16.9.2": | 1385 | "@types/react-test-renderer@16.9.2": |
| 1361 | version "16.9.2" | 1386 | version "16.9.2" |
| 1362 | resolved "https://registry.npm.taobao.org/@types/react-test-renderer/download/@types/react-test-renderer-16.9.2.tgz#e1c408831e8183e5ad748fdece02214a7c2ab6c5" | 1387 | resolved "https://registry.npm.taobao.org/@types/react-test-renderer/download/@types/react-test-renderer-16.9.2.tgz#e1c408831e8183e5ad748fdece02214a7c2ab6c5" |
| @@ -1372,6 +1397,13 @@ | @@ -1372,6 +1397,13 @@ | ||
| 1372 | "@types/prop-types" "*" | 1397 | "@types/prop-types" "*" |
| 1373 | csstype "^2.2.0" | 1398 | csstype "^2.2.0" |
| 1374 | 1399 | ||
| 1400 | +"@types/redux-logger@^3.0.7": | ||
| 1401 | + version "3.0.7" | ||
| 1402 | + resolved "https://registry.npm.taobao.org/@types/redux-logger/download/@types/redux-logger-3.0.7.tgz#163f6f6865c69c21d56f9356dc8d741718ec0db0" | ||
| 1403 | + integrity sha1-Fj9vaGXGnCHVb5NW3I10FxjsDbA= | ||
| 1404 | + dependencies: | ||
| 1405 | + redux "^3.6.0" | ||
| 1406 | + | ||
| 1375 | "@types/stack-utils@^1.0.1": | 1407 | "@types/stack-utils@^1.0.1": |
| 1376 | version "1.0.1" | 1408 | version "1.0.1" |
| 1377 | resolved "https://registry.npm.taobao.org/@types/stack-utils/download/@types/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" | 1409 | resolved "https://registry.npm.taobao.org/@types/stack-utils/download/@types/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" |
| @@ -2961,6 +2993,18 @@ dedent@0.7.0, dedent@^0.7.0: | @@ -2961,6 +2993,18 @@ dedent@0.7.0, dedent@^0.7.0: | ||
| 2961 | resolved "https://registry.npm.taobao.org/dedent/download/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" | 2993 | resolved "https://registry.npm.taobao.org/dedent/download/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" |
| 2962 | integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= | 2994 | integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= |
| 2963 | 2995 | ||
| 2996 | +deep-assign@^3.0.0: | ||
| 2997 | + version "3.0.0" | ||
| 2998 | + resolved "https://registry.npm.taobao.org/deep-assign/download/deep-assign-3.0.0.tgz#c8e4c4d401cba25550a2f0f486a2e75bc5f219a2" | ||
| 2999 | + integrity sha1-yOTE1AHLolVQovD0hqLnW8XyGaI= | ||
| 3000 | + dependencies: | ||
| 3001 | + is-obj "^1.0.0" | ||
| 3002 | + | ||
| 3003 | +deep-diff@^0.3.5: | ||
| 3004 | + version "0.3.8" | ||
| 3005 | + resolved "https://registry.npm.taobao.org/deep-diff/download/deep-diff-0.3.8.tgz#c01de63efb0eec9798801d40c7e0dae25b582c84" | ||
| 3006 | + integrity sha1-wB3mPvsO7JeYgB1Ax+Da4ltYLIQ= | ||
| 3007 | + | ||
| 2964 | deep-is@~0.1.3: | 3008 | deep-is@~0.1.3: |
| 2965 | version "0.1.3" | 3009 | version "0.1.3" |
| 2966 | resolved "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" | 3010 | resolved "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" |
| @@ -4314,7 +4358,7 @@ hoist-non-react-statics@^2.3.1: | @@ -4314,7 +4358,7 @@ hoist-non-react-statics@^2.3.1: | ||
| 4314 | resolved "https://registry.npm.taobao.org/hoist-non-react-statics/download/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" | 4358 | resolved "https://registry.npm.taobao.org/hoist-non-react-statics/download/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" |
| 4315 | integrity sha1-xZA89AnA39kI84jmGdhrnBF0y0c= | 4359 | integrity sha1-xZA89AnA39kI84jmGdhrnBF0y0c= |
| 4316 | 4360 | ||
| 4317 | -hoist-non-react-statics@^3.1.0: | 4361 | +hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0: |
| 4318 | version "3.3.2" | 4362 | version "3.3.2" |
| 4319 | resolved "https://registry.npm.taobao.org/hoist-non-react-statics/download/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" | 4363 | resolved "https://registry.npm.taobao.org/hoist-non-react-statics/download/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" |
| 4320 | integrity sha1-7OCsr3HWLClpwuxZ/v9CpLGoW0U= | 4364 | integrity sha1-7OCsr3HWLClpwuxZ/v9CpLGoW0U= |
| @@ -5593,6 +5637,11 @@ locate-path@^5.0.0: | @@ -5593,6 +5637,11 @@ locate-path@^5.0.0: | ||
| 5593 | dependencies: | 5637 | dependencies: |
| 5594 | p-locate "^4.1.0" | 5638 | p-locate "^4.1.0" |
| 5595 | 5639 | ||
| 5640 | +lodash-es@^4.2.1: | ||
| 5641 | + version "4.17.15" | ||
| 5642 | + resolved "https://registry.npm.taobao.org/lodash-es/download/lodash-es-4.17.15.tgz#21bd96839354412f23d7a10340e5eac6ee455d78" | ||
| 5643 | + integrity sha1-Ib2Wg5NUQS8j16EDQOXqxu5FXXg= | ||
| 5644 | + | ||
| 5596 | lodash._reinterpolate@^3.0.0: | 5645 | lodash._reinterpolate@^3.0.0: |
| 5597 | version "3.0.0" | 5646 | version "3.0.0" |
| 5598 | resolved "https://registry.npm.taobao.org/lodash._reinterpolate/download/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" | 5647 | resolved "https://registry.npm.taobao.org/lodash._reinterpolate/download/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" |
| @@ -7018,7 +7067,7 @@ react-devtools-core@^4.0.6: | @@ -7018,7 +7067,7 @@ react-devtools-core@^4.0.6: | ||
| 7018 | shell-quote "^1.6.1" | 7067 | shell-quote "^1.6.1" |
| 7019 | ws "^7" | 7068 | ws "^7" |
| 7020 | 7069 | ||
| 7021 | -react-is@^16.12.0, react-is@^16.13.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6: | 7070 | +react-is@^16.12.0, react-is@^16.13.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6, react-is@^16.9.0: |
| 7022 | version "16.13.1" | 7071 | version "16.13.1" |
| 7023 | resolved "https://registry.npm.taobao.org/react-is/download/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" | 7072 | resolved "https://registry.npm.taobao.org/react-is/download/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" |
| 7024 | integrity sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ= | 7073 | integrity sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ= |
| @@ -7202,6 +7251,17 @@ react-native@0.62.1: | @@ -7202,6 +7251,17 @@ react-native@0.62.1: | ||
| 7202 | use-subscription "^1.0.0" | 7251 | use-subscription "^1.0.0" |
| 7203 | whatwg-fetch "^3.0.0" | 7252 | whatwg-fetch "^3.0.0" |
| 7204 | 7253 | ||
| 7254 | +react-redux@^7.2.0: | ||
| 7255 | + version "7.2.0" | ||
| 7256 | + resolved "https://registry.npm.taobao.org/react-redux/download/react-redux-7.2.0.tgz?cache=0&sync_timestamp=1581997590604&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-redux%2Fdownload%2Freact-redux-7.2.0.tgz#f970f62192b3981642fec46fd0db18a074fe879d" | ||
| 7257 | + integrity sha1-+XD2IZKzmBZC/sRv0NsYoHT+h50= | ||
| 7258 | + dependencies: | ||
| 7259 | + "@babel/runtime" "^7.5.5" | ||
| 7260 | + hoist-non-react-statics "^3.3.0" | ||
| 7261 | + loose-envify "^1.4.0" | ||
| 7262 | + prop-types "^15.7.2" | ||
| 7263 | + react-is "^16.9.0" | ||
| 7264 | + | ||
| 7205 | react-refresh@^0.4.0: | 7265 | react-refresh@^0.4.0: |
| 7206 | version "0.4.2" | 7266 | version "0.4.2" |
| 7207 | resolved "https://registry.npm.taobao.org/react-refresh/download/react-refresh-0.4.2.tgz#54a277a6caaac2803d88f1d6f13c1dcfbd81e334" | 7267 | resolved "https://registry.npm.taobao.org/react-refresh/download/react-refresh-0.4.2.tgz#54a277a6caaac2803d88f1d6f13c1dcfbd81e334" |
| @@ -7320,6 +7380,36 @@ redent@^2.0.0: | @@ -7320,6 +7380,36 @@ redent@^2.0.0: | ||
| 7320 | indent-string "^3.0.0" | 7380 | indent-string "^3.0.0" |
| 7321 | strip-indent "^2.0.0" | 7381 | strip-indent "^2.0.0" |
| 7322 | 7382 | ||
| 7383 | +redux-logger@^3.0.6: | ||
| 7384 | + version "3.0.6" | ||
| 7385 | + resolved "https://registry.npm.taobao.org/redux-logger/download/redux-logger-3.0.6.tgz#f7555966f3098f3c88604c449cf0baf5778274bf" | ||
| 7386 | + integrity sha1-91VZZvMJjzyIYExEnPC69XeCdL8= | ||
| 7387 | + dependencies: | ||
| 7388 | + deep-diff "^0.3.5" | ||
| 7389 | + | ||
| 7390 | +redux-persist@^6.0.0: | ||
| 7391 | + version "6.0.0" | ||
| 7392 | + resolved "https://registry.npm.taobao.org/redux-persist/download/redux-persist-6.0.0.tgz#b4d2972f9859597c130d40d4b146fecdab51b3a8" | ||
| 7393 | + integrity sha1-tNKXL5hZWXwTDUDUsUb+zatRs6g= | ||
| 7394 | + | ||
| 7395 | +redux@^3.6.0: | ||
| 7396 | + version "3.7.2" | ||
| 7397 | + resolved "https://registry.npm.taobao.org/redux/download/redux-3.7.2.tgz#06b73123215901d25d065be342eb026bc1c8537b" | ||
| 7398 | + integrity sha1-BrcxIyFZAdJdBlvjQusCa8HIU3s= | ||
| 7399 | + dependencies: | ||
| 7400 | + lodash "^4.2.1" | ||
| 7401 | + lodash-es "^4.2.1" | ||
| 7402 | + loose-envify "^1.1.0" | ||
| 7403 | + symbol-observable "^1.0.3" | ||
| 7404 | + | ||
| 7405 | +redux@^4.0.0, redux@^4.0.5: | ||
| 7406 | + version "4.0.5" | ||
| 7407 | + resolved "https://registry.npm.taobao.org/redux/download/redux-4.0.5.tgz#4db5de5816e17891de8a80c424232d06f051d93f" | ||
| 7408 | + integrity sha1-TbXeWBbheJHeioDEJCMtBvBR2T8= | ||
| 7409 | + dependencies: | ||
| 7410 | + loose-envify "^1.4.0" | ||
| 7411 | + symbol-observable "^1.2.0" | ||
| 7412 | + | ||
| 7323 | regenerate-unicode-properties@^8.2.0: | 7413 | regenerate-unicode-properties@^8.2.0: |
| 7324 | version "8.2.0" | 7414 | version "8.2.0" |
| 7325 | resolved "https://registry.npm.taobao.org/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" | 7415 | resolved "https://registry.npm.taobao.org/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" |
| @@ -8327,7 +8417,7 @@ symbol-observable@1.0.1: | @@ -8327,7 +8417,7 @@ symbol-observable@1.0.1: | ||
| 8327 | resolved "https://registry.npm.taobao.org/symbol-observable/download/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" | 8417 | resolved "https://registry.npm.taobao.org/symbol-observable/download/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" |
| 8328 | integrity sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ= | 8418 | integrity sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ= |
| 8329 | 8419 | ||
| 8330 | -symbol-observable@^1.1.0: | 8420 | +symbol-observable@^1.0.3, symbol-observable@^1.1.0, symbol-observable@^1.2.0: |
| 8331 | version "1.2.0" | 8421 | version "1.2.0" |
| 8332 | resolved "https://registry.npm.taobao.org/symbol-observable/download/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" | 8422 | resolved "https://registry.npm.taobao.org/symbol-observable/download/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" |
| 8333 | integrity sha1-wiaIrtTqs83C3+rLtWFmBWCgCAQ= | 8423 | integrity sha1-wiaIrtTqs83C3+rLtWFmBWCgCAQ= |
| @@ -8550,6 +8640,11 @@ typedarray@^0.0.6: | @@ -8550,6 +8640,11 @@ typedarray@^0.0.6: | ||
| 8550 | resolved "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" | 8640 | resolved "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" |
| 8551 | integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= | 8641 | integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= |
| 8552 | 8642 | ||
| 8643 | +typesafe-actions@^5.1.0: | ||
| 8644 | + version "5.1.0" | ||
| 8645 | + resolved "https://registry.npm.taobao.org/typesafe-actions/download/typesafe-actions-5.1.0.tgz#9afe8b1e6a323af1fd59e6a57b11b7dd6623d2f1" | ||
| 8646 | + integrity sha1-mv6LHmoyOvH9WealexG33WYj0vE= | ||
| 8647 | + | ||
| 8553 | typescript@^3.8.3: | 8648 | typescript@^3.8.3: |
| 8554 | version "3.8.3" | 8649 | version "3.8.3" |
| 8555 | resolved "https://registry.npm.taobao.org/typescript/download/typescript-3.8.3.tgz?cache=0&sync_timestamp=1586164975599&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftypescript%2Fdownload%2Ftypescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061" | 8650 | resolved "https://registry.npm.taobao.org/typescript/download/typescript-3.8.3.tgz?cache=0&sync_timestamp=1586164975599&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftypescript%2Fdownload%2Ftypescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061" |
-
Please register or login to post a comment