flash-message-redux
v1.0.0
Published
Defines Redux constructs used to generate app flash messages (i.e. toasters).
Downloads
2
Readme
flash-message-redux
Library defining Redux actions and a reducer to to store a global application level message. This is akin to a toast message or a flash message if you are familiar with Ruby on Rails.
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Installing
flash-message-redux is an npm module and can be downloaded from the npm registry.
Using npm:
npm i --save flash-message-redux
Using yarn:
yarn add flash-message-redux
Using it
Using the flash-message-redux library is fairly easy. You first need to add the reducer to your combineReducers call. Something like:
import { flashMessageReducer as flashMessage } from 'flash-message-redux';
const rootReducer = combineReducers({
flashMessage,
});
Next you simple need to use one of the four actions defined:
- flashInfo
- flashWarning
- flashError
- clearFlash
Each one will create a flash message with the associated level.
Now the question is where do you use these methods. The methods provided through the module do not prevent you using flash-messages at any level of your application. You could use it in the actions, the reducers or the react components. I would advise you to use it in the React components only. Flash messages are a UI construct and it wouldn't make much sense to put them in the action for example... though it might be tempting to do this as you have contextual information there too.
And coding style tests
If submitting code, please ensure that your code follows the eslint rules we use. Thanks.
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
- Martin Beauvais - Initial work - mbeauv
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE.md file for details