Я действительно запутался с этим кодом.Я просто хочу знать, как мы передаем параметры в функцию reducer(state, action)
.Мой главный вопрос: как параметр action отправляется функции редуктора в моем файле Comments.js?Я даже не импортирую файл ActionCreator.js, но могу использовать, и комментарии возвращают значения полезной нагрузки.Как это возможно?Кто-то, пожалуйста, объясните мне это прозрачным образом.
Пожалуйста, извините меня за редактирование моих фрагментов кода
/ActionTypes.JS
export const ADD_COMMENT='ADD_COMMENT';
/ActionCreator.js
import * as ActionTypes from './ActionTypes';
export const addComment=(dishId, rating, author, comment)=>({
type:ActionTypes.ADD_COMMENT,
payload:{
dishId:dishId,
rating:rating,
author:author,
comment:comment
}
})
/Comments.js
import {COMMENTS} from "../shared/comments";
import * as ActionTypes from "./ActionTypes"
export const Comments=(state=COMMENTS, action)=>{
switch(action.type){
case ActionTypes.ADD_COMMENT:
var comment=action.payload;
comment.id=state.length
comment.date=new Date().toISOString()
console.log("Comment" + comment)
return state.concat(comment)
default:
return state;
}
}