【发布时间】:2019-07-14 17:39:01
【问题描述】:
当我在 action.js 的顶部定义我的 actionTypes 时,我的商店工作得非常好,但是当我将它们移动到他们自己的 ActionTypes.js 常量文件并导入时,我的 redux 商店停止工作。
当 action.js 看起来像时,我的商店工作
export const CHANGE_TEXT = 'CHANGE_TEXT';
// actionCreators
export function changeText(text) {
return {
type: CHANGE_TEXT,
text };
}
但是当我将它们移到它们自己的常量文件中时,一切都停止了:
action.js
import { CHANGE_TEXT } from '../constants/ActionTypes'
// actionCreators
export function changeText(text) {
return {
type: CHANGE_TEXT,
text };
}
ActionTypes.js
// actionTypes
export const CHANGE_TEXT = 'CHANGE_TEXT';
ActionTypes.js 的导入路径没有错误,因为我没有收到任何错误或控制台输出提示错误。只是商店里没有商品。
可能需要注意的是,我没有控制台记录商店,我在 Text 组件中作为 javascript 对象输出(我认为这就是它的名称,抱歉)例如。 {Store.getState().changeText}。当我在手机上编辑这个问题并从内存中读取时,我刚刚写的内容可能有错误。 但是,当我将所有内容都放在一个 action.js 文件中时,这是可行的,但是当我将 actionTypes 移动到常量文件时,它就不行了。
【问题讨论】:
-
“一切都停止工作”是什么意思?你有错误吗?它说什么?乍一看这看起来不错,但它可能是一千种不同的东西......导入路径错误,模块配置问题等。除非你给我们更多的上下文,否则我们会在黑暗中大喊大叫...... .
-
@Josep 我编辑了我的帖子,希望能更清楚。工作 = 文本组件内屏幕上的字符串输出,无工作 = 空字符串(初始状态)。运行时和控制台日志都没有错误
-
将它们放在同一个文件中没有任何问题,你见过github.com/erikras/ducks-modular-redux 我知道它不能回答你的问题,但我发现这个设置更容易
-
您介意与我们分享您的减速器的代码吗?我对将动作导入减速器的方式特别感兴趣。谢谢!
标签: javascript reactjs react-native redux