我正在开发一些应用程序,您可以在其中保存有关视频的注释。我有一些 redux 问题,抱歉我不具体,但我不知道问题出在哪里。每次当我使用“ADD_ITEM”操作时,在 devtools 中一切正常,我可以看到值处于状态,但它们没有被映射,只有状态的初始值被映射。
这听起来真的很奇怪。为了向我的应用程序添加内容,我正在使用 Formik,所以问题可能出在我的表单中?这是该问题的视频:
顺便说一句,不要试图在这个视频中理解我,我是波兰人 :)
这是我实际映射的初始状态:
const initialState = {
saves: [
{
id: 1,
title: 'Hello meow',
created: '18 may 2018',
link: 'https://www.youtube.com/watch?v=-QmyosHh-kU',
content: 'Nowy film gargamela!',
},
{
id: 2,
title: 'Hello meow',
created: '18 may 2018',
link: 'https://www.youtube.com/watch?v=-QmyosHa-kU',
content: 'Nowy film!',
},
{
id: 5,
title: 'cos',
created: 'cos',
link: 'cos',
content: 'cos',
},
],
};
这是我的减速器:
switch (action.type) {
case 'ADD_ITEM': return {
...state,
state: [...state.saves, action.payload],
};
动作创建者:
export const addItem = (itemContent) => {
const getId = () => _${Math.random().toString(36).substr(2, 9)};
return { type: 'ADD_ITEM', payload: { id: getId(), ...itemContent, }, };
};
(addItem 在 mapDispatchToProps 中作为 addItemAction 导入) mapDispatchToProps
const mapDispatchToProps = (dispatch) => ({
addItem: (itemContent) => dispatch(addItemAction(itemContent)),
});
以及 formik 中提交所有内容的位置:
<Formik initialValues={{ title: '', link: '', content: '', created: '' }} onSubmit={(values) => { addItem(values); handleClose(); }} >