【发布时间】:2020-07-28 09:53:34
【问题描述】:
我正在制作一个表单以在 react.js/react-redux 中创建一个项目,但不知何故,在创建项目时我没有获得完整的项目数组(请参阅屏幕截图)。它只返回这样的项目名称(参考截图)。而不是项目名称,我想要项目的完整数组,包括项目名称、描述、开始日期和结束日期。
部分:API获取代码如下。
function project(project) {
console.log(project)
const requestOptions = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(project)
};
return fetch(`http://pms.infotech.com/api/project`, requestOptions).then(handleResponse);
}
部分:动作代码如下。
function project(project) {
console.log(project)
return dispatch => {
dispatch(request(project));
userService.project(project)
.then(
project => {
dispatch(success());
// dispatch(alertActions.success('Project added successfully!'));
},
error => {
console.log(error, 'error--------------------------')
dispatch(failure(error));
dispatch(alertActions.error(error));
}
);
};
function request(project) {
return {
type: appConstants.PROJECT_REQUEST,
project
}
}
function success(project) {
return {
type: appConstants.PROJECT_SUCCESS,
project
}
}
function failure(error) {
return {type: appConstants.PROJECT_FAILURE, error}
}
}
部分:reducer的代码如下。
import {appConstants} from '../helpers/app-components';
export function project(state = {}, action) {
switch (action.type) {
case appConstants.PROJECT_REQUEST:
return {addProject: true};
case appConstants.PROJECT_SUCCESS:
return {};
case appConstants.PROJECT_FAILURE:
return {};
default:
return state
}
}
部分:存储数据的代码如下。
import { createStore, applyMiddleware } from 'redux';
import thunkMiddleware from 'redux-thunk';
import { createLogger } from 'redux-logger';
import rootReducer from '../Reducers';
const loggerMiddleware = createLogger();
export const store = createStore(
rootReducer,
applyMiddleware(
thunkMiddleware,
loggerMiddleware
)
);
【问题讨论】:
-
什么是“项目”? “项目数组”是什么意思?您的问题是 API 没有返回正确的数据吗?如果是,您需要向我们展示服务器代码。
-
请参考截图。 “项目数组”不返回表单输入的值。 API 正在返回正确的数据,这不是问题。当我尝试提交表单时的问题,它没有返回输入字段值的完整数组。请参考截图。
标签: reactjs react-redux