Create a Module
TrebleGSM module development is an advanced area of TrebleGSM. Please review the How TrebleGSM Works article before you proceed reading.
Create a Basic Module
To create a module, import the createModule() function.
import {createModule} from 'treble-gsm';Assign createModule() to a variable. The variable should be named after your module.
const TrebleExampleModule = createModule();The createModule() function takes an object that has properties that allow the module to hook into different parts of TrebleGSM. Below is an example of a basic module with a dispatcher and reducer action.
const TrebleExampleModule = createModule({
name: 'treble-example-module',
dispatchers: {
'dispatcherExample': //dispatcher function,
},
reducerActions: {
'reducerActionExample': //reducerAction function
}
});
export default TrebleExampleModule;Use Extended Module Features
Now that TrebleGSM has been extended by the TrebleExampleModule, the useTreble hook's Store function now has access to the new dispatcher that we added.
const [{/*state objects*/}, Store] = useTreble();
<button onClick={() => Store.dispatcherExample('updateSomeState', 'This is a dispatchValue')}>The above is a basic module that can be used to extend TrebleGSM features.