React-Redux 存储或将道具中的 api 传递给组件哪个更好
React-Redux store or Passing the api in props to the components which is better way
到目前为止,我只是感到困惑。我正在为需要一定数量的 API 调用开发一个 React 应用程序。所以我只是混淆了是在组件中调用 API 并通过 props 将 dats 传递给所需的组件,还是使用 redux thunk 获取 api 并存储到 React 存储中并获取通过在需要时分派操作来获取所需数据。
建议将不胜感激:)
我强烈建议不要使用 React-Redux。原因如下
- 为什么要在应用程序中添加一个仅用于传递状态的库
- Redux自带开销代码(写action等)
- React 的 Context API 可以解决你的问题(在 react 库中已经可用)
- React Composition 是将状态传递给子组件的另一种方式。
- Redux 也有维护开销。
总而言之,你的 React 可以单独管理你所有的状态通信问题。您不需要另一个库来进行状态管理。
注意:每当我说 React 时,我指的是 React 更新版本。反应 16.8+
调用API肯定会在组件中完成。像这样:
const Component = () => {
useEffect(() => {
const fn = async () => {
await apiCall()
}
fn()
}, [])
}
但是你的问题在于你应该把它存放在哪里。
这很简单:
- 如果您获取的数据将在整个应用程序中使用,那么 Redux 是一个不错的选择。它还带有数据持久性,使用
redux-persist
(https://github.com/rt2zz/redux-persist) 只需很少的努力,因此它不仅具有您可以访问的全局对象。
特点:
一个。坚持
b.任何地方都可以访问全局状态
C。使用 Redux 开发工具增强调试
- 如果您只想避免
prop drilling
,那么 React.Context
是一个不错的选择
- 如果您的道具只有
drilling
2 或 3 级,请不要过度使用 Context
到目前为止,我只是感到困惑。我正在为需要一定数量的 API 调用开发一个 React 应用程序。所以我只是混淆了是在组件中调用 API 并通过 props 将 dats 传递给所需的组件,还是使用 redux thunk 获取 api 并存储到 React 存储中并获取通过在需要时分派操作来获取所需数据。
建议将不胜感激:)
我强烈建议不要使用 React-Redux。原因如下
- 为什么要在应用程序中添加一个仅用于传递状态的库
- Redux自带开销代码(写action等)
- React 的 Context API 可以解决你的问题(在 react 库中已经可用)
- React Composition 是将状态传递给子组件的另一种方式。
- Redux 也有维护开销。
总而言之,你的 React 可以单独管理你所有的状态通信问题。您不需要另一个库来进行状态管理。
注意:每当我说 React 时,我指的是 React 更新版本。反应 16.8+
调用API肯定会在组件中完成。像这样:
const Component = () => {
useEffect(() => {
const fn = async () => {
await apiCall()
}
fn()
}, [])
}
但是你的问题在于你应该把它存放在哪里。
这很简单:
- 如果您获取的数据将在整个应用程序中使用,那么 Redux 是一个不错的选择。它还带有数据持久性,使用
redux-persist
(https://github.com/rt2zz/redux-persist) 只需很少的努力,因此它不仅具有您可以访问的全局对象。
特点:
一个。坚持 b.任何地方都可以访问全局状态 C。使用 Redux 开发工具增强调试
- 如果您只想避免
prop drilling
,那么React.Context
是一个不错的选择 - 如果您的道具只有
drilling
2 或 3 级,请不要过度使用Context