Я пытаюсь создать Redux и у меня возникает проблема, когда я пытаюсь сделать диспетчер не работает.
Файл действий, userActions. js:
export const setId = () => {
console.log("Enter to set id func");
return {
type: 'SET_ID'
}
}
Файл редуктора, userReducer. js:
const INITIAL_STATE = {
id: "",
email: "",
name: "",
};
const userReducer = (state = INITIAL_STATE, action) => {
console.log('Enter to userReducer');
switch (action.type) {
case "SET_ID": {
// console.log(action.payload);
}
default: {
return state;
}
}
}
export default userReducer;
Файл combReducers:
import userReducer from "./userReducer";
import { combineReducers } from "redux";
const allReducers = combineReducers({
userReducer: userReducer
})
export default allReducers;
Приложение. js file:
import React from 'react';
import Routes from "./Routes";
import { createStore } from "redux";
import allReducer from "./app/reducers";
import { Provider } from "react-redux";
const store = createStore(
allReducer
);
const App = () => {
return (
<Provider store={store}>
<Routes />
</Provider>
);
};
export default App;
В файле экрана входа в систему у меня есть кнопка, когда я нажимаю на него, чтобы вызвать вызов действия "setId".
Вот часть моего кода из Login. js:
import { useDispatch } from 'react-redux';
import { setId } from '../actions/userActions';
handleLoginResult = (error, user) => {
console.log('Enter to handleLoginResult');
if (error !== "") {
this.setState({ generalError: error });
} else {
const dispatch = useDispatch();
console.log('uid: ', user.user.uid);
dispatch(setId());
alert("Login!");
}
}
В чем проблема и почему не вводится действие setId?