这是一个概念性问题,涉及一种更好的方法,即使用react和与redux进行反应来获取数据。
我有一个名为UsersSelect
的组件,它是显示用户信息的选择组件。目前,我正在此组件内部获取用户数据,以使其更可重用。
我还有一个UsersTable
组件,其功能与UsersSelect
相同,有时,我将它们都呈现在同一屏幕上,这导致两次相同的提取。为了避免这种情况,我在 takeLatest 中使用了 redux-saga 。
所以我的问题是:
UsersPage
组件一样?答案 0 :(得分:1)
我同意Miro J.的评论。
由于您要将相同的数据用于两个不同的组件,因此最好在父级中获取数据并将其作为道具传递给子级。
就您而言,(看来)您的两个组件都息息相关。
在组件不太紧密但仍然需要数据的情况下,还可以在设置根App组件时加载数据。
答案 1 :(得分:0)
对于react体系结构,没有redux,提取数据在父级中可以正常工作,是的,UsersPage组件应该具有要工作的子级组件的数据,但是对于redux来说,您可以选择创建presentational components或实现factory pattern,但这需要后端架构对
const factoryComponent = (FactoryComponent, DefaultComponent, props) => ({
Component: FactoryComponent || props.component || DefaultComponent,
props: { ...props, component: FactoryComponent ? props.component : fetch(url).then(data=>console.log(data)); },
})