node.js - 需要用node js mongodb实现redux
问题描述
我不知道如何实现 mongo db 和 node.js 以便它可以使用我的 redux 中的数据。这是我的一些代码。我已经坚持了一段时间。我很困惑,因为我看到的大多数文章都不适用于 redux。控制器和动作创建者是我最受困的。
Actions.js
export const createQuiz = (state) => async(dispatch) => {
console.log(state)
axios.post('http://localhost:5000/create', state)
.then(res =>
dispatch({
type: CREATE,
payload: res.data
})
)
.then(res =>
console.log(res.data + 15)
)
.catch(error =>
console.log(error.message))
}
减速器.js
const quizState = {
questions: [
{
}
],
fields: {
}
}
export default (state = quizState, action ) => {
switch(action.type) {
case FETCH_ALL:
return action.payload;
case CREATE:
return {
questions: [...state.questions, action.payload.questions],
fields: {
difficulty: action.payload.difficulty,
creator: action.payload.creator,
category: action.payload.category,
title: action.payload.title,
}
}
default:
return state
}
}
服务器/controller.js
export const createQuiz = async (req, res) => {
const newQuiz = new quizModel({
questions: req.body.questions,
difficulty: req.body.fields.difficulty,
creator: req.body.fields.creator,
category: req.body.fields.category,
title: req.body.fields.title
})
newQuiz.save().then(quiz => res.json(quiz))
}
路由.js
const router = express.Router()
router.get('/', getQuizzes)
router.post('/', createQuiz)
index.js
app.use('/create', quizRoute)
模型.js
const quizSchema = mongoose.Schema({
questions: [],
difficulty: String,
category: String,
title: String,
creator: String
});
const quizModel = mongoose.model('Quiz', quizSchema);
解决方案
推荐阅读
- r - 将所有列中的值转换为 tibble/dplyr 中的某个值
- javascript - 在 Storybook 中使用 React 添加组件特定的外部 js 文件
- javascript - Puppeteer 循环并转换为对象
- mysql - Windows xampp上的Mysql小写表
- javascript - “无法使用 nodejs 发布
- haxe - Flex Builder MXML 文件到 Haxe 的转换
- javascript - OpenWeatherMap API 预报仅几天
- python - Python:返回缺少的工作日日期并在缺少的日期旁边分配费率
- eclipse - 为什么当我在 Eclipse 上更改主题时我的背景颜色没有改变?
- javascript - 执行 npm 发布时 github 托管包失败