问题标签 [redux-actions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
performance - 在 React 和 Redux 应用程序中调度大量操作对性能有何影响?
动作对性能的影响有多大,更准确地说:调度所述动作?
假设在单个用户与 UI 的交互中,同一操作连续调度 10 次,这将如何影响性能?或者,它甚至会影响性能吗?
react-redux - Redux 连接的 React 组件在调用 GET api 请求之前不会更新
我的 react 应用程序使用 redux 连接组件从后端为项目页面呈现数据,因此我在 React Hook useEffect 中调用了 GET 调度,以确保在项目页面首次打开时始终呈现数据,并且只要有更改state project
,组件将使用 connect redux 函数进行相应更新。但是,在我使用 DELETE API 请求减少新状态后,组件不会更新,只有当我发送另一个 GET 请求时,才会更新状态。所以我必须调用 2 个调度,一个用于 DELETE,一个用于 GET 以同步更新页面(正如您在handleDeleteUpdate
函数中看到的那样),当我调度 POST 请求以添加更新时,同样的事情发生了(在handleProjectUpdate
)。只有当我重新加载页面时,新更改的数据才会显示,否则不会同步发生,有人知道我的代码中的状态更新有什么问题吗?以及如何解决此问题,以便仅通过一个请求即可更快地加载页面?
我已经更改了减速器以确保状态没有发生突变并且正确更新。我也尝试在 handleDeleteUpdate 中使用异步函数来确保动作调度完成
我努力了
console.log(props.project.data.updates)
调用 props.deleteUpdate 后打印出更新列表,但updates
状态中的列表似乎从未更改,但是当我重新加载页面时,updates
会显示新列表
这是我为主要连接的 redux 组件、操作和组件的 reducers 文件的代码
行动
减速器
项目组件中的 updateCard 显示所有更新的列表
reactjs - 当用户直接点击产品详细信息页面时如何管理 redux 状态
我正在开发一个 Redux 应用程序,我遇到了一个我不知道如何处理的特殊情况。
假设我有一个ProductsList
页面:example.com/products
在这个页面上,我正在调度getProducts
redux 操作,它调用 API 并将产品存储在商店中。
在此页面上,我列出了所有产品。现在,用户点击一个产品并推送一个新的 URL,如下所示:example.com/products/product/1
在这个ProductDetails
页面上,一个名为的 redux 操作setCurrentProduct
被调度。
到目前为止,一切都很好。
但是,当用户example.com/products/product/1
直接访问 URL 时,就会出现问题。
在这种情况下,setCurrentProduct
操作会被调度,但它会失败,因为商店中还没有产品。
我想我可以在这个ProductDetails
页面上添加一个 if-else 语句并检查产品是否存在于商店中,然后首先发送getProducts
然后setCurrentProduct
。
但我觉得这是一个 hacky 解决方案。
也许,我错了,这是实际的解决方案。
有人可以指导我这个解决方案是否正确,如果不是,那么正确的解决方案是什么。
PS:我正在使用 NextJS。
reactjs - 在输入模糊上调度 Redux 操作是一个好习惯吗?
我的项目在 Nextjs 中,带有 Typescript 和 Redux。我有一个在 MongoDB 上创建产品的多步骤表单,我需要调度 setProduct() 函数来设置 Redux 并在刷新时保持输入值。我在输入模糊时发送它,这是一个好习惯吗?我不想使用useEffect()
.
reactjs - 登录反应redux后如何在导航栏上显示用户名
我的导航栏上有一个名为 Login 的导航链接(我使用了引导导航栏)。成功登录后,我想用 react-redux(不是 redux-toolkit)的用户名替换登录。请帮助我编写减速器和动作代码。由于我是 redux 的初学者,而且我不知道如何在 reducer 和 action 文件中编码,这让我很困惑。
导航栏组件 (Navbar.js)