javascript - 文件树归约器中的状态未定义
问题描述
我只想从我的 reducer 返回一个对象数组,但useSelect()
返回 undefined
减速器/目录/index.js:
export * from './reportDir'
减速器/目录/reportDir.js:
const reportDir = [
{
type: 'cat',
name: 'گزارش ها',
childrens: [
{
type: 'folder',
name: 'گزارش های اپراتور',
childrens: [
{type: 'file', name: 'گزارش شنود', route: '/listen', id: 1}
]
},
{
type: 'folder',
name: 'گزارش مالی',
childrens: [
{type: 'file', name: 'مالی', id: 2}
]
}
]
}
]
const reportDirReducer = (state = reportDir) => {
return state
}
export default reportDirReducer
减速器/index.js:
import { combineReducers } from 'redux'
import newTabReducer from './newTabReducer'
import fileReducer from './fileReducer'
import tableReducer from './tableReducer'
import { authentication } from './authenticationReducer';
import { alert } from './alertReducer';
import { listen } from './reportOpReducer';
import { reportDirReducer } from './directories';
export default combineReducers({
newTabReducer, fileReducer, authentication,
tableReducer, alert, listen, reportDirReducer
})
这是我为我的 react 应用程序创建的一个简单的目录路径,我不知道我为什么undefined
要从中获取reportDirReducer
?
解决方案
您的文件正在查找名称为inreducer/index.js
的命名导出。此变量不存在,因为 reducer 是默认导出,而不是命名导出。使用时它基本上会“丢失” 。reportDirReducer
'./directories'
export *
在您的reducer/directories/index.js
中,请改用:
export { default as reportDirReducer } from './reportDir';
我们导入默认导出,'./reportDir'
reducer 就是从中导入的。然后我们将其重新导出为命名的 export reportDirReducer
。
另一种解决方案是保持reducer/directories/index.js
文件与现在相同,并更改reducer/directories/reportDir.js
为使用命名导出而不是默认导出。
export const reportDirReducer = (state = reportDir) => {
return state;
};
推荐阅读
- javascript - 文件上传导致 PDF 文件以外的问题
- reactjs - 使用 xmlbuilder2 进行高效构建时,React 应用程序会产生 TypeError
- php - WooCommerce 向管理员发送电子邮件通知以获取特定订单状态
- php - 运行Jquery后表单标签消失
- python-3.x - 在 Python 3 中执行 curl 命令
- javascript - 如何根据另一个下拉列表的选择动态地将数组添加到下拉列表中?
- javascript - 如何知道 React 中点击元素的颜色?
- javascript - 为什么 array.map() 函数不改变数组
- android - 尝试使用 Retrofit 在两点之间获取方向时为空体
- http - 在一个 HTTP 请求中发送文件和参数(通过 JSON)