javascript - React - 导入待办事项但我在文件中看不到它
问题描述
我正在做 Redux 教程。在那我发现了一个我无法理解的代码。
在 MainReducer 文件中它说import todos from './TodoReducer'
但 TodoReducer.js 文件中没有待办事项,但它仍在工作。顺便说一句,todos 似乎是一个州名。为什么这仍然有效?
整个源代码可以在: https ://itnext.io/tutorial-simple-react-redux-app-cd559621ec00
MainReducer.js
import { combineReducers } from 'redux'
import todos from './TodoReducer'
import visibilityFilter from './FilterReducer'
export default combineReducers({
todos,
visibilityFilter
})
import { ADD_TODO, REMOVE_TODO, TOGGLE_TODO} from '../actions/actionsTypes'
const INITIAL_DATA = []
const TodoReducer = (state=INITIAL_DATA, action) => {
switch (action.type){
case ADD_TODO:
return [
...state,{
id: action.id,
text: action.text,
completed: false,
}
]
case TOGGLE_TODO:
return state.map(todo =>
(todo.id === action.id)
? {...todo, completed: !todo.completed}
: todo
)
case REMOVE_TODO:
const numIndex = parseInt(action.id)
return state.filter(todo => todo.id !== numIndex);
default:
return state
}
}
export default TodoReducer
import {
SHOW_ALL,
SET_VISIBILITY_FILTER
} from "../actions/actionsTypes";
const visibilityFilter = (state = SHOW_ALL, action) => {
switch (action.type) {
case SET_VISIBILITY_FILTER:
return action.filter;
default:
return state;
}
};
export default visibilityFilter;
解决方案
这就是defalut
出口的工作方式。格式中调用的任何内容
import whatever from './TodoReducer'
whatever
将从“./TodoReducer”分配default
导出。这与您调用时的命名导出相反
export Something;
您必须使用与
import { Something } from './TodoReducer'
注意这里的花括号。有关更多信息,请阅读export
MDN 网站上的文档
推荐阅读
- c - 使用 C 中的通用控件创建简单的树视图
- javascript - 从另一个集合更新 firestore 数组
- c# - 用按钮控制视频播放器并改变场景
- fortran - 如何在文本文件中写 Ω 或任何其他希腊字母?
- mysql - Hiberante 自动生成表成功但无法在 MySQL 服务器实例上创建
- tensorflow - Keras 模型 - 在自定义损失函数中获取输入
- python - 为什么 pygame.event.get() 返回 EventList?
- javascript - 如何将页面/应用文件夹重定向到 next.js 中的子域
- javascript - 如何确保用户在firebase中刷新时登录?
- c# - C# DataGridView Column.MinimumWidth 与 DataGridViewAutoSizeColumnMode.AllCellsExceptHeader 仅适用于设计模式