【发布时间】:2019-09-22 16:57:38
【问题描述】:
我正在从 java API 获取详细信息。我想在 UI 端将一些详细信息设置为 commonvo 并发送 commonvo 对象到服务器端。我正在使用以下代码:
反应组件
import { getDetails, populateobjDetails } from './CommonAction'
function mapDispatchToProps(dispatch) {
return {
getDetails: (formType, commonVO) => dispatch(getDetails(formType, commonVO)),
populateobjDetails: (obj, commonVO) => dispatch(populateobjDetails(obj, commonVO)) //edit 1
}
}
Redux 操作:
export function getDetails(requestFormType, commonVO) {
return (dispatch) => {
axios.get(`${ROOT_URL}/byName/${commonVO.name}`, { headers: { 'Cache-Control': 'no-cache,no-store,must-revalidate,max-age=-1,private', 'Pragma':'no-cache' } }).then(
(response) => {
let obj= dispatch(setDetails(response.data[0]));
dispatch(populateobjDetails(obj, commonVO))
dispatch(setobjSearchLoadingFlag(false))
}
)
}
}
export function populateobjDetails(obj, commonVO) {
const objDetails = {
projectAlias: obj.projectAlias,
dateExpenseClose: obj.dateExpenseClosed,
projectID: obj.projectId,
id: obj.id,
idClass: obj.idClass
}
return {
type: POPULATE_OBJ_DETAILS,
payload: { ...commonVO, ...objDetails }
}
}
我在 commonVO 中添加 objDetails。但是在设置了这些详细信息的“提交表单”期间,我无法看到新属性被设置到 commonVO 中。
我是 React-Redux 的新手,对它不太熟悉。如果我需要在 Redux-react 方面做更多事情,请告诉我?
谢谢
编辑:我在“mapDispatchToProps”函数中添加了“populateobjDetails”方法(代码中缺少该方法)并在组件中导入了该方法
【问题讨论】:
标签: reactjs redux react-redux