我正在使用官方指南学习redux:
https://react-redux.js.org/introduction/basic-tutorial
在本指南中,有指向示例项目的链接:
https://codesandbox.io/s/9on71rvnyo
在这个例子中,有一个部分我无法理解如何工作。
问题(即我无法理解的部分)出现在文件src/redux/store.js中。
在这个文件中有一个import语句:
import rootReducer from "./reducers";但是在目录树中,在整个项目中的任何文件中都没有定义和导出rootReducer。
这个应用程序是如何工作的?
我遗漏了什么?
发布于 2020-09-26 18:38:15
当你做的时候
import <something> from 'somePath'somePath通常是指向文件或node_modules中的模块的相对路径,但它也可以是指向包含index.js文件的文件夹的路径。
在这里,同一个目录中有一个名为reducers的文件夹,该文件夹包含一个index.js文件,该文件可以:
export default combineReducers({ todos, visibilityFilter });因此,import rootReducer from "./reducers";指向嵌套文件夹中的index.js文件,并将其默认导出放到rootReducer变量中。
这并不是针对React或Redux的--这对于import语法在JavaScript中是通用的。
例如,如果app.js包含import something from './components',下面的两个文件系统结构将导致路径解析成功:
|- app.js
|- components (folder)
| index.js
| componentA.js
| componentB.js|- app.js
|- components.js发布于 2020-09-26 18:38:52
答案很简单:
import rootReducer from "./reducers";将自动在reducers-folder中查找一个名为index.EXTENSION的文件。
如果您查看src/reduc/reducers/index.js,您将看到如下所示:
export default combineReducers({ todos, visibilityFilter });它实际上是导出示例项目在src/redux/store.js中导入的内容。
https://stackoverflow.com/questions/64081251
复制相似问题