Javascript 导出redux reducer时,我得到一个;TypeError:无法读取属性';名称';“未定义”的定义;

Javascript 导出redux reducer时,我得到一个;TypeError:无法读取属性';名称';“未定义”的定义;,javascript,reactjs,redux,jsx,Javascript,Reactjs,Redux,Jsx,更新:我没有将切片添加到实际存储中,我现在可以分派操作,但是namePlaceholder常量仍然产生未定义的结果 尝试导出选择器函数时,出现错误: 这是组件代码: import React,{Component,useState}来自'React'; 从“react-redux”导入{useSelector,useDispatch}; 进口{ 更改名称, 组件测试选择器, }从“./componentTestSlice”开始; 导出函数ComponentTest(){ const name

更新:我没有将切片添加到实际存储中,我现在可以分派操作,但是namePlaceholder常量仍然产生未定义的结果

尝试导出选择器函数时,出现错误:

这是组件代码:

import React,{Component,useState}来自'React';
从“react-redux”导入{useSelector,useDispatch};
进口{
更改名称,
组件测试选择器,
}从“./componentTestSlice”开始;
导出函数ComponentTest(){
const namepholder=useSelector(componentTestSelector);//应用程序崩溃
const dispatch=usedpatch();
常量[inputName,setInputName]=useState(“”);
返回(
新的
setInputName(e.target.value)}
/>
分派(changeName())}
>改变它
{namepholder}
)
}
导出默认组件测试

结果比您预期的要简单得多。您忽略了在发送操作时发送输入的名称状态值

export function ComponentTest() {
  const namePlaceholder = useSelector(componentTestSelector);
  const dispatch = useDispatch();
  const [inputName, setInputName] = useState("");

  return (
    <div>
      <label>New</label>
      <input
        aria-label="Set name"
        value={inputName}
        onChange={(e) => setInputName(e.target.value)}
      />
      <button
        aria-label="submit new name"
        onClick={() => dispatch(changeName(inputName))} // <-- pass name value
      >
        change it
      </button>
      <span>{namePlaceholder}</span>
    </div>
  );
}
导出功能组件测试(){
const namepholder=useSelector(componentTestSelector);
const dispatch=usedpatch();
常量[inputName,setInputName]=useState(“”);
返回(
新的
setInputName(e.target.value)}
/>
调度(changeName(inputName))}//
改变它
{namepholder}
);
}

我仔细研究了这些代码片段和文档,没有发现任何明显的问题(我熟悉react redux,但不熟悉较新的工具包)。错误是
状态.componentTest
未定义。您是否在浏览器中安装了redux开发工具扩展,以便可以验证/验证您的redux状态是否已填充?你能创建一个运行的代码沙盒来复制这个问题,其他人可以现场调试吗?这是我的repo Drew,我会很快尝试在沙盒中复制…我将你的repo克隆到沙盒中:你可以分叉它。你的回购有你刚才在编辑中提到的更新代码吗?按一下就可以了!抱歉2,它工作了谢谢或帮助,但我担心在导出“componentTestSelector”@MarioPerez时仍然返回相同的错误具体是什么错误?我在沙盒中没有看到任何错误。我所做的编辑是导入
componentTestSlice
reducer并将其添加到存储中的根reducer,然后将名称传递给动作创建者。