If there is data in Redux store that needs to sent to server by dispatching an async action, how to dispatch it without having to receive it inside of a React component because this data is not used for rendering anything.
Example:
My store:
{
dataNotUsedForRendering: 'A',
dataUsedForRendering: 'B'
}
My component:
class MyComponent extends React.Component {
//...
render(){
const {dataUsedForRendering, dataNotUsedForRendering, dispatch} = this.props;
return (
<div>
{dataUsedForRendering}
<button onClick={()=> dispatch({type: 'SAVE', payload: dataNotUsedForRendering})}>Save</button>
</div>);
}
}
export const mapStateToProps = (state) => ({
dataUsedForRendering: state.dataUsedForRendering,
dataNotUsedForRendering: state.dataNotUsedForRendering
});
export default connect(mapStateToProps)(MyComponent);
Here dataNotUsedForRendering
is being received as a prop inside MyComponent just for the purpose of sending it to server.
I tried mapDispatchToProps
but I get the props of Connect(MyComponent)
and not MyComponent
.