javascript - React redux 导入 reducer 调度

标签 javascript reactjs typescript redux

我正在尝试遵循react-redux模板中的计数器示例,但我似乎无法导出我自己的setOwner reducer 。

ownerSelector.tsx:

export  const ownerSlice = createSlice({
  name: 'owner',
  initialState,

  reducers:{
    setOwner: (state) => {    //Export this reducer
      let own = document.getElementById("OwnerSelector") as HTMLSelectElement
      state.id = parseInt(own!!.options[own.selectedIndex].value);
    }
  },
  extraReducers: (builder) => {}
})

export const selectOwner= (state: RootState) => state.selectedOwner.id;
export default ownerSlice.reducer;

我想在carForm.tsx中导入setOwner:

import {setOwner} from './ownerSelector'; // error here


    let submitHandler = (e: React.FormEvent<HTMLElement>) => {
        e.preventDefault();

        dispatch(setOwner())
        const formData = {
            car: {
                year: year,
                make: make,
                model: model,
                price: price,
                person_id: owner,
            }
        }
        dispatch(createCarAsync(formData));
        resetState();
    }

导入时的错误是:模块“./ownerSelector”没有导出的成员“setOwner”。您是否想改用“import setOwner from "./ownerSelector"”?ts(2614)

我做错了什么?谢谢。

最佳答案

在 redux 工具包和任何 redux 中,您都需要分派(dispatch)操作。

export const { setOwner } = ownerSlice .actions 
//now you can use it in dispatch 

关于javascript - React redux 导入 reducer 调度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71454963/

相关文章:

reactjs - 模块 '"<文件路径>/react-redux "' has no exported member ' Dispatch'

javascript - 如何使用 React-router-dom 版本 6 useNavigate 和 typescript 传递参数

javascript - Redux - 重置子树的状态

javascript - 如何从解析平台检索对象并使用 Typescript 显示它们?

javascript - Angular 删除从服务器获取数据时的 CORS 错误

javascript - 回调后的值如何使用

javascript - 如何获取随机 json 数据并附加到 div 元素

javascript - Hammer.js 一段时间后停止工作

typescript - 重命名 typescript 对象类型的键

typescript - 有没有办法手动将技能连接到 Microsoft 虚拟助手?无需运行 botskills 连接