Scaffold your project using Ionic Framework + React.js + Redux.js (+ immer.js + Redux-Saga + Re-Select) fully written in typescript
Enjoy building complex Ionic + React based apps.
-
Well suited for PWA, Apache Cordova or Electron based applications.
-
Out of the box lazy-loading components and pages.
-
Tightly coupled with Typescript system.
- Generator for page and component
Clone the repository and run below command on the root of your project.
npm i
ionic serve
For page: npm run gen-page TestPage
For Component: npm run gen-comp TestComponent
File \ Folder | Details |
---|---|
src\pages\SimplePage |
Reference implementation for a page that is followed throughout boiler plate code (built on container concept) |
src\pages\SimplePage\constants.ts |
Contains both action names and constants used within a Page \ Container |
src\components |
Contains all the elements and components to be used in Page \ Container. |
src\basplate |
Contains all the project related wiring and also application level configurations. |
src\shared-base |
Refer readme.md inside shared-base folder |
Options \ Object | Details |
---|---|
eProps |
Emiter props (differentiated from normal props), used to emit actions to the reducer or middleware from the container. |
action |
object that carries the data in a component |
reducer |
is implemented using immer.js, a draft based state manipulation. |
SCSS |
(style.module.scss) module based for the classname hashing & namespace collision prevention. |
Action Object - source
Options \ Object | Type | Description |
---|---|---|
type | String | Unique string for each page or container. It should be unique across the application. |
payLoad | String / Object | Data payload carrier for component to middleware and vice versa |
meta | Function / String / Object | Any data directly to be sent to middlewares and vice versa without putting to global store. ex: function callback |
Please raise a PR or issue request for your valuable contributions and Suggestions
- Translation (i18n support) - Tweaks needed
- Boilerplate code without Redux and Saga
- Adding more options to generator
- Support for React Native