面对Redux的问题
我正在尝试使用蚂蚁设计创建一个用于库存的表。我已经使用了React Redux来管理几个州。下面是给定的代码
import { Table } from 'antd';
import React, { useEffect } from 'react';
import { useSelector, useDispatch } from 'react-redux';
import {loadData} from '../../features/DataTableState/DataTableSlice';
const DataTable = () => {
const gridData = useSelector((state) => state.dataTable.isGridData);
const isLoading = useSelector((state) => state.dataTable.isLoading);
const dispatch = useDispatch();
useEffect(() => {
dispatch(loadData());
},[dispatch]);
const columns = [
{
title:'Id',
dataIndex:'Id',
align:'center',
},
{
title:'product',
dataIndex:'name',
align:'center',
editTable:true
},
{
title:'description',
dataIndex:'email',
align:'center',
editTable:true
},
{
title:'inventory',
dataIndex:'age',
align:'center',
editTable:false
},
{
title:'Action',
dataIndex:'action',
align:'center',
}
];
return (
<div className='data-table'>
data table
</div>
);
}
export default DataTable
切片
import { createSlice } from "@reduxjs/toolkit";
import axios from "axios";
export const dataTableSlice = createSlice({
name: "dataTable",
initialState: {
isGridData: [],
isLoading: false,
},
reducers: {
loadData: async (state) => {
state.isLoading = true;
const response = await axios.get(
"https://jsonplaceholder.typicode.com/comments"
);
state.isGridData(response.data);
state.isLoading = false;
},
},
});
export const { loadData } = dataTableSlice.actions;
export default dataTableSlice.reducer;
存储
import { configureStore } from "@reduxjs/toolkit";
import menuReducer from "../features/MenuState/menuSlice";
import dataTableReducer from "../features/DataTableState/DataTableSlice";
export default configureStore({
reducer: {
menu: menuReducer,
dataTable: dataTableReducer,
},
});
,一旦我使用使用效果或在组件中与任何其他功能创建我的网页一旦删除创建功能,我的网页就会空白。 我无法分类问题
I am trying to create a table for inventory using ant design. I have used react redux to manage few states. Below is the given code
import { Table } from 'antd';
import React, { useEffect } from 'react';
import { useSelector, useDispatch } from 'react-redux';
import {loadData} from '../../features/DataTableState/DataTableSlice';
const DataTable = () => {
const gridData = useSelector((state) => state.dataTable.isGridData);
const isLoading = useSelector((state) => state.dataTable.isLoading);
const dispatch = useDispatch();
useEffect(() => {
dispatch(loadData());
},[dispatch]);
const columns = [
{
title:'Id',
dataIndex:'Id',
align:'center',
},
{
title:'product',
dataIndex:'name',
align:'center',
editTable:true
},
{
title:'description',
dataIndex:'email',
align:'center',
editTable:true
},
{
title:'inventory',
dataIndex:'age',
align:'center',
editTable:false
},
{
title:'Action',
dataIndex:'action',
align:'center',
}
];
return (
<div className='data-table'>
data table
</div>
);
}
export default DataTable
Slice
import { createSlice } from "@reduxjs/toolkit";
import axios from "axios";
export const dataTableSlice = createSlice({
name: "dataTable",
initialState: {
isGridData: [],
isLoading: false,
},
reducers: {
loadData: async (state) => {
state.isLoading = true;
const response = await axios.get(
"https://jsonplaceholder.typicode.com/comments"
);
state.isGridData(response.data);
state.isLoading = false;
},
},
});
export const { loadData } = dataTableSlice.actions;
export default dataTableSlice.reducer;
store
import { configureStore } from "@reduxjs/toolkit";
import menuReducer from "../features/MenuState/menuSlice";
import dataTableReducer from "../features/DataTableState/DataTableSlice";
export default configureStore({
reducer: {
menu: menuReducer,
dataTable: dataTableReducer,
},
});
As soon as I am using useEffect or creating any other function with in the component my webpage is going blank as soon as I am deleting the created functions the page is going back to normal.
I am unable to sort the issue
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
还原器不能异步。取而代之的是,将异步逻辑移动到异步thunk中,并使用
extrareducers
参数。https://redux-toolkit.js.js.org/api/createasyncthunk
Reducers cannot be async. Instead, move your async logic into an async thunk and use the
extraReducers
argument.https://redux-toolkit.js.org/api/createAsyncThunk