Skip to content

Instantly share code, notes, and snippets.

import { combineReducers } from 'redux';
import {
todoReducer,
TodoConstants
} from '~/features/todo';
export default combineReducers({
[TodoConstants.NS]: todoReducer
});
import { TodoConstants } from '~/features/todo';
export const DEFAULT_STATE = {
[TodoConstants.NS]: TodoConstants.DEFAULT_STATE
};
|-- workspace
    |-- src
        |-- components
        |   |-- ui
        |       |-- Button.jsx
import { makeActionCreator, makeReducer, composeReducers } from 'redux-toolbelt';
import { clone } from 'ramda';
import cuid from 'cuid';
import { DEFAULT_STATE } from './constants';
const makeAction = makeActionCreator.withDefaults({prefix: "@todo/"});
export const actions = {
add: makeAction('ADD'),
toggle: makeAction('TOGGLE'),
#!/bin/sh
EXTENSIONS=(
"Equinusocio.vsc-material-theme"
"GrapeCity.gc-excelviewer"
"dbaeumer.vscode-eslint"
"felixfbecker.php-intellisense"
"felixfbecker.php-pack"
"formulahendry.auto-close-tag"
"ms-vscode.atom-keybindings"
import React from 'react';
import { Route, Switch } from 'react-router-dom';
import { routes } from '../constants';
import TodoPage from '~/pages/Todos';
import Home from '~/pages/Home';
const RootRoutes = () => (
<Switch>
<Route exact path={routes.Home.route} component={Home} />
<Route exact path={routes.Todo.route} component={TodoPage} />
// ...
babel: {
presets: [],
plugins: [
["@babel/plugin-proposal-decorators", { "legacy": true }],
]
},
// ..
// ...
webpack: {
alias: {
"~": path.resolve(__dirname, "./src/"),
}
},
// ...
// src/state/middlewares/composeEnhancers.js
import { composeWithDevTools } from 'redux-devtools-extension';
import { compose } from 'redux';
let composeEnhancers = compose;
if (process.env.NODE_ENV === 'development') {
composeEnhancers = composeWithDevTools
}
import React from 'react';
import { Provider } from 'react-redux';
import { BrowserRouter as Router } from 'react-router-dom';
import { I18nextProvider } from 'react-i18next';
import { store } from '../store';
import { trans } from '../translations';
export default class AppProvider extends React.Component {
render() {
const { children } = this.props;