react-toastify-redux
TypeScript icon, indicating that this package has built-in type declarations

1.0.0-rc.2 • Public • Published

React Toastify Redux Build Status npm version npm Coverage Status

Wraps react-toastify into a component and exposes actions and reducer.

Installation

$ npm install --save react-toasify-redux
$ yarn add react-toastify-redux

Usage

Import the reducer and pass it to your combineReducers:

import {combineReducers} from 'redux';
import {toastsReducer as toasts} from 'react-toasify-redux';
 
export default combineReducers({
    // ...other reducers
    toasts
});

Include the toast controller in main view:

import {ToastController} from 'react-toasify-redux';
 
export default () => {
    return (
        <div>
            ...
            <ToastController />
        </div>
    );
};

Actions

Use actions for create, update and remove toasts:

import {dismiss, update, error, message, warning, success, info} from 'react-toastify-redux';
 
dispatch(dismiss(id));
dispatch(dismiss()); // dismiss all toasts
dispatch(update(id, options));
dispatch(message('Default message'));
dispatch(success('Success message'));
dispatch(error('Error message'));
dispatch(warning('Warning message'));
dispatch(info('Info message'));

Customization toast

Create toast component

export default ({ type, message }) => (
    <div className='toast'>
        <div className='header'>{type}</div>
        <div className='message'>{message}</div>
    </div>
);

Include this component in ToastConroller

import {ToastController} from 'react-toasify-redux';
import CustomToastComponent from 'awesome-folder/custom-toast-component';
 
export default () => {
    return (
        <div>
            ...
            <ToastController toastComponent={CustomToastComponent} />
        </div>
    );
};

API

ToastContainer

ToastContainer extends properties from ToastContainer in react-toastify. Also have new properties:

Props Type Default Description
toastComponent ComponentClass or false - Element that will be displayed after emit toast

Dismiss

Parameter Type Required Description
toast id string Id toast for dismiss. If call action without id, then dismiss all toasts

Update

Parameter Type Required Description
toast id string Id toast for update
options object Options listed below

Toast Actions (Message, Success, Info, Warning, Error)

Parameter Type Required Description
message string Message for toast
options object Options listed below

Toast Base Options

Parameter Type Default Description
renderDefaultComponent boolean false Render default toast component? Use this propery if using custom toast component.
type sa# React Toastify Redux

Wraps react-toastify into a component and exposes actions and reducer.

Installation

$ npm install --save react-toasify-redux
$ yarn add react-toastify-redux

Usage

Import the reducer and pass it to your combineReducers:

import {combineReducers} from 'redux';
import {toastsReducer as toasts} from 'react-toasify-redux';
 
export default combineReducers({
    // ...other reducers
    toasts
});

Include the toast controller in main view:

import {ToastController} from 'react-toasify-redux';
 
export default () => {
    return (
        <div>
            ...
            <ToastController />
        </div>
    );
};

Actions

Use actions for create, update and remove toasts:

import {dismiss, update, error, message, warning, success, info} from 'react-toastify-redux';
 
dispatch(dismiss(id));
dispatch(dismiss()); // dismiss all toasts
dispatch(update(id, options));
dispatch(message('Default message'));
dispatch(success('Success message'));
dispatch(error('Error message'));
dispatch(warning('Warning message'));
dispatch(info('Info message'));

Customization toast

Create toast component

export default ({ title, message }) => (
    <div className='toast'>
        <div className='header'>{title}</div>
        <div className='message'>{message}</div>
    </div>
);

Include this component in ToastConroller

import {ToastController} from 'react-toasify-redux';
import CustomToastComponent from 'awesome-folder/custom-toast-component';
 
export default () => {
    return (
        <div>
            ...
            <ToastController toastComponent={CustomToastComponent} />
        </div>
    );
};

API

ToastContainer

ToastContainer extends properties from ToastContainer in react-toastify. Also have new properties:

Props Type Default Description
toastComponent ComponentClass or false - Element that will be displayed after emit toast

Dismiss

Parameter Type Required Description
toast id string Id toast for dismiss. If call action without id, then dismiss all toasts

Update

Parameter Type Required Description
toast id string Id toast for update
options object Options listed below

Toast Actions (Message, Success, Info, Warning, Error)

Parameter Type Required Description
message string Message for toast
options object Options listed below

Toast Base Options

Parameter Type Default Description
renderDefaultComponent boolean false Render default toast component? Use this propery if using custom toast component.
title string '' Title for custom toast component
type One of: 'info', 'success', 'warning', 'error', 'default' 'default' same as ToastContainer
autoClose number or false 5000 Set the delay in ms to close the toast automatically
hideProgressBar boolean false Hide or show the progress bar
position One of: 'top-right', 'top-center', 'top-left', 'bottom-right', 'bottom-center', 'bottom-left' 'top-right' Set the default position to use
pauseOnHover boolean true Pause the timer when the mouse hover the toast
className string or object - An optional css class to set
bodyClassName string or object - same as ToastContainer
progressClassName string or object - same as ToastContainer
draggable boolean true Allow toast to be draggable
draggablePercent number 80 The percentage of the toast's width it takes for a drag to dismiss a toast

License

Licensed under MIT

Package Sidebar

Install

npm i react-toastify-redux

Weekly Downloads

206

Version

1.0.0-rc.2

License

MIT

Unpacked Size

77.7 kB

Total Files

28

Last publish

Collaborators

  • fayster