必需的:
- 从数据库中获取数据列表
- 在客户端编辑它们
- 将更改保存到数据库
通过 redux 获取数据
dispatch(fetch()...
但数据进入道具(这是只读的)
在哪里以及如何将它们正确地转移到状态,以便随后可以通过 setState 编辑它们?
//Component
class myComponent extends Component {
...
}
export default connect(
state => ({
items: state.items
}),
dispatch => ({
onGetItems: () => {
dispatch(getItems());
}
})
)(myComponent);
...
// Middleware
export const getItems = () => dispatch => {
fetch(url, {
...
})
.then(function (data) {
dispatch({ type: 'SUCCESS', data: data });
})
.catch(function (error) {
console.log('Request failed', error);
});
}
...
// Reducer
const initialState = [];
export default function items(state = initialState, action) {
if (action.type === 'SUCCESS') {
return action.data;
}
return state;
}
UPDATE
表格的数据来自后面:
[
{
"id": 1,
"name": "ivan",
"value": 10
}, {
"id": 5,
"name": "fred",
"value": 3
}, {
"id": 25,
"name": "dima",
"value": 3
}
]
例如我们想重命名fred为stas
您不需要使用组件自身的状态来更改 Redux 存储中的内容,您可以直接通过操作更改存储本身。例如像这样: