diff --git a/examples/complexe/.babelrc b/examples/complexe/.babelrc new file mode 100644 index 0000000..0ef5ffc --- /dev/null +++ b/examples/complexe/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": ["@babel/env"] +} diff --git a/examples/complexe/README.md b/examples/complexe/README.md new file mode 100644 index 0000000..04a8ba8 --- /dev/null +++ b/examples/complexe/README.md @@ -0,0 +1,5 @@ +# complexe case + + +- multiple reducer +- parameter pass to action \ No newline at end of file diff --git a/examples/complexe/package.json b/examples/complexe/package.json new file mode 100644 index 0000000..7127519 --- /dev/null +++ b/examples/complexe/package.json @@ -0,0 +1,18 @@ +{ + "name": "counter", + "version": "1.0.0", + "main": "src/index.js", + "author": "Titouan CREACH", + "license": "MIT", + "scripts": { + "start": "parcel ./src/index.html", + "build": "parcel build ./src/index.html" + }, + "devDependencies": { + "@babel/core": "^7.4.4", + "parcel-bundler": "^1.12.3", + "redux": "^3.7.2", + "vue": "^2.6.10" + }, + "dependencies": {} +} diff --git a/examples/complexe/src/Actions/index.js b/examples/complexe/src/Actions/index.js new file mode 100644 index 0000000..be252b2 --- /dev/null +++ b/examples/complexe/src/Actions/index.js @@ -0,0 +1,20 @@ +import { INCREMENT, DECREMENT, RESET, OTHER, OTHER_RESET } from './types.js' +export function increment() { + return { type: INCREMENT } +} + +export function decrement() { + return { type: DECREMENT } +} + +export function reset(count3) { + return { type: RESET, count3 } +} + +export function other(count5) { + return { type: OTHER, count5 } +} + +export function other_reset() { + return { type: OTHER_RESET } +} diff --git a/examples/complexe/src/Actions/types.js b/examples/complexe/src/Actions/types.js new file mode 100644 index 0000000..329b861 --- /dev/null +++ b/examples/complexe/src/Actions/types.js @@ -0,0 +1,5 @@ +export const INCREMENT = 'INCREMENT' +export const DECREMENT = 'DECREMENT' +export const RESET = 'RESET' +export const OTHER = 'OTHER' +export const OTHER_RESET = 'OTHER_RESET' diff --git a/examples/complexe/src/Components/Counter.vue b/examples/complexe/src/Components/Counter.vue new file mode 100644 index 0000000..32ac819 --- /dev/null +++ b/examples/complexe/src/Components/Counter.vue @@ -0,0 +1,19 @@ + + + diff --git a/examples/complexe/src/Components/CounterProvider.vue b/examples/complexe/src/Components/CounterProvider.vue new file mode 100644 index 0000000..a82b4bf --- /dev/null +++ b/examples/complexe/src/Components/CounterProvider.vue @@ -0,0 +1,53 @@ + + + diff --git a/examples/complexe/src/Reducers/Counter.js b/examples/complexe/src/Reducers/Counter.js new file mode 100644 index 0000000..053b328 --- /dev/null +++ b/examples/complexe/src/Reducers/Counter.js @@ -0,0 +1,14 @@ +import { INCREMENT, DECREMENT, RESET } from '../Actions/types' + +export function counter(state = { count: 0, count2: 19 }, action) { + switch (action.type) { + case INCREMENT: + return { count: state.count + state.count2, count2: state.count2 } + case DECREMENT: + return { count: state.count - 1, count2: state.count2 } + case RESET: + return { count: action.count3, count2: state.count2 } + default: + return state + } +} diff --git a/examples/complexe/src/Reducers/Counter_second.js b/examples/complexe/src/Reducers/Counter_second.js new file mode 100644 index 0000000..8c70a00 --- /dev/null +++ b/examples/complexe/src/Reducers/Counter_second.js @@ -0,0 +1,12 @@ +import { OTHER, OTHER_RESET } from '../Actions/types' + +export function counter2(state = { count6: 44 }, action) { + switch (action.type) { + case OTHER: + return { count6: action.count5 } + case OTHER_RESET: + return { count6: 44 } + default: + return state + } +} diff --git a/examples/complexe/src/configure_store.js b/examples/complexe/src/configure_store.js new file mode 100644 index 0000000..c87f368 --- /dev/null +++ b/examples/complexe/src/configure_store.js @@ -0,0 +1,11 @@ +import { createStore, combineReducers } from 'redux' + +import { counter } from './Reducers/Counter' +import { counter2 } from './Reducers/Counter_second' +const rootReducerSample = combineReducers({ + counter, + counter2, +}) + +const store = createStore(rootReducerSample) +export default store diff --git a/examples/complexe/src/index.html b/examples/complexe/src/index.html new file mode 100644 index 0000000..3b29ea7 --- /dev/null +++ b/examples/complexe/src/index.html @@ -0,0 +1,11 @@ + + + + + Counter + + +
+ + + diff --git a/examples/complexe/src/index.js b/examples/complexe/src/index.js new file mode 100644 index 0000000..f885067 --- /dev/null +++ b/examples/complexe/src/index.js @@ -0,0 +1,7 @@ +import Vue from 'vue' +import CounterProvider from './Components/CounterProvider.vue' + +new Vue({ + components: { CounterProvider }, + render: h => h(CounterProvider), +}).$mount('#app')