【问题标题】:axios get request for local data reduxaxios 获取本地数据 redux 的请求
【发布时间】:2023-03-12 23:57:01
【问题描述】:

我有一个带有 javascript 对象的数据文件,我想以 redux 状态存储,我有一个可与 api 一起使用的 axios 请求函数,但我希望能够从我的应用程序中获取本地文件。目前它不显示redux中的数据

如何将其导入 redux 或者有更好的方法在 redux 中使用本地数据对象?

actions.js

import axios from 'axios'
import {
  FETCH_DATA
} from '../../Constants'

export function fetchData() {
  return dispatch =>
    axios
      .get('../../Data/data.js')
      .then((response) => {
        dispatch({ type: FETCH_DATA, payload: response.data });
      })
      .catch((err) => {
        console.error(err);
      });
}

data.js

[  {
    id: 1,
    cat: ' food and drink',
    slug: 'food-and-drink',
    }, 
    {
    id: 2,
    cat: ' food and drink',
    slug: 'food-and-drink',
    }
[

【问题讨论】:

  • Axios 是一个 HTTP 客户端,因此不适合从本地文件系统中提取数据。您可能希望以不同的方式加载数据(应该是 data.json,而不是 data.js)。在 node.js 方面,这将由 fs 模块驱动。

标签: javascript reactjs redux


【解决方案1】:
import data from './response.json'

export function fetchData() {
  return function (dispatch) {
    dispatch({
      type: action.actionName
      payload: data
    });

  }
}

【讨论】:

  • 如果你知道答案,那你为什么要发布这个问题?
  • 我发布后在别处找到了答案,然后添加了一个答案以帮助其他人寻找相同的东西
【解决方案2】:

您不需要异步获取它。 从本地文件导入数据并在您的组件中使用它

import data from '../../Data/data.js'

render() {
return (
  {data}
)
}

【讨论】:

  • 是的,我只是让你知道它不必异步完成,你可以导入它。对于 redux 来说,这也是同样的逻辑,我看到你已经在上面做了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-14
  • 2019-11-22
  • 2018-12-02
  • 2018-06-29
  • 2021-10-21
  • 2020-03-25
  • 2021-05-11
相关资源
最近更新 更多