Я пытаюсь обновить мой Магазин, но он не обновляется автоматически.
Не вызывает MapActionToProps
, обновляет хранилище без использования функции отправки.
Пожалуйста, помогите. Что я тут делаю не так?
Это мой App.js
Файл:
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
import { connect} from 'react-redux';
import { updateUser } from './actions/users-actions';
class App extends Component {
constructor(props){
super(props);
this.onUpdateUser = this.onUpdateUser.bind(this);
}
onUpdateUser(){
this.props.onUpdateUser('Sammy');
}
render() {
console.log(this.props);
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h1 className="App-title">Welcome to React</h1>
</header>
<p className="App-intro">
To get started, edit <code>src/App.js</code> and save to reload.
</p>
<button onClick={this.onUpdateUser}> Update User</button>
{this.props.user}
</div>
);
}
}
const mapStateToProps = state => ({
products : state.products,
user : state.user,
})
const mapActionsToProps = {
onUpdateUser : updateUser
};
export default connect(mapStateToProps,mapActionsToProps)(App);
Это мой Action File
:
export const UPDATE_USER = 'users:updateUser';
export function updateUser(newUser){
return{
type:UPDATE_USER,
payload:{
user:newUser
}
}
}
это мой Reducer File
:
import { UPDATE_USER } from '../actions/users-actions';
export default function usersReducer(state='',type,payload){
switch(type){
case 'UPDATE_USER':
return payload.user;
default:
return state
}
}
Нужно ли вызывать store.dispatch()
метод?