Teras is a wrapper-library based on redux, redux-saga. (Inspired by dva-js)
Teras makes redux easier to be implemented in your react/react-native applications.
- Basic redux-saga wrapper
- WebSocket connection support
- Redux Persist in the box add-on
- Loading reducer add-on
This library is published in the NPM registry and can be installed using any compatible package manager.
npm install teras --save
or
yarn add teras
import Teras from 'teras';
import terasModel from "./models/terasModel";
ReactDOM.render(
<Teras models={[terasModel]}>
<App />
</Teras>
document.getElementById('root')
);
const INITIAL_STATE = {
initlabel: 'Hello World'
};
export default {
namespace: 'terasModel',
state: INITIAL_STATE,
reducers: {},
effects: {
},
};
import {core} from 'teras';
const mapStatesToProps = ({terasModel}) => ({
terasModel,
});
function App({dispatch, terasModel}) {
const {initlabel} = terasModel;
return (
<div>
{initlabel}
</div>
);
}
export default core.connect(mapStateToProps)(App);
function* onReceived(message, {put, select}) {
if (!message) return;
console.log('onReceived');
}
function* onConnected({socket}, {put, select}) {
console.log('onConnected');
}
function* onDisconnected(query, {put, select}) {
console.log('onDisconnected');
}
function* onError() {
console.log('onEror');
}
export default {
namespace: 'chatSocket',
onReceived,
onConnected,
onDisconnected,
onError,
url: `wss://localhost,
};
Copyright (C) 2021 Qumon Intelligence
Released under MIT License.