dispatch is not a function
报错?请问为何?import { useParams, useLocation } from 'react-router-dom';
import { useState, useEffect } from 'react';
import { PageProvider, usePageContext } from './core/Context'
export default function Page() {
const [list, setList] = useState<any[]>([])
let [resource, setResource] = useState<object>({ text: "啊啊啊" })
const dispatchPage = usePageContext();
return <PageProvider>
<button onClick={() => dispatchPage({ text: "修改成功"}) }>点击变化</button>
<div>{list.map(e => e)}</div>
</PageProvider>
}
import { createContext, useContext, useReducer } from "react";
const PageContext = createContext({})
export function usePageContext() {
return useContext( PageContext );
}
function tasksReducer(tasks: any, action: any) {
return { text: action.text }
}
export function PageProvider({ children } : any) {
const [tasks, dispatch] = useReducer(
tasksReducer,
{ text: "上下文" }
);
return (
<PageContext.Provider value={tasks}>
{children}
</PageContext.Provider>
);
}
context
的值来源于provider
上的value
属性。你的PageContext.Provider
的value
是tasks
也就是你usePageContext
得到的是这个值,而不是dispatch
这个函数
app/store/rootReducer.ts
编辑:我重写了这个问题,以澄清我想要的--感谢到目前为止回复我的人,帮助我磨练它。 在这个人为的示例中,状态有两个主要区域,分别由和键访问。 键指向一个以作者ID为键的对象,该ID指向一个带有一些作者数据的对象。 键指向一个对象,该对象键控于具有某些发布数据的发布的ID以及一个作者数组。 从这个答案来看: reactJS-是否在调用“setstate”时调用render? React组件的函数将在
本文向大家介绍在react中你是怎么进行状态管理的?相关面试题,主要包含被问及在react中你是怎么进行状态管理的?时的应答技巧和注意事项,需要的朋友参考一下 使用react-redux进行状态管理 使用redux-thunk中间件进行异步数据的处理
来自服务器的数据以及是否挂起或导致错误 UI状态如切换,警报和错误消息 自定义主题,凭据和本地化 许多其他类型的状态 Redux using ng2-redux Angular Services and RxJS(推荐)
管理应用程序状态是个难题。您需要在多个后端,Web workers和UI组件之间进行协调。 像Redux和Flux这样的模式旨在通过使这种协调更加明确来解决这个问题。在本文中,我将展示如何使用RxJS在几行代码中实现类似的模式。然后我将展示如何使用这种模式来实现一个简单的Angular 2应用。 在谈论架构模式时,我喜欢从描述其核心属性开始。你可以写在餐巾背上的东西。The devil, of c
建议使用基于redux封装出来的rematch, anujs也自带了这个框架。 rematch的官网 https://github.com/rematch/rematch resolve: { alias: { react: "anujs", "react-dom": "anujs", rematch: "anujs/dist/Rematch.js