首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用React Router获取文件

使用React Router获取文件
EN

Stack Overflow用户
提问于 2017-12-13 02:05:21
回答 1查看 614关注 0票数 0

我需要将一个文本文件读入一个变量。

我对文件的url使用了一个fetch指令,但它不起作用,因为我的nginx web服务器被配置为将所有查询传递给React。

React不提供静态文件,或者我可能需要定义一些路由。

我解决了nginx配置的黑客问题,但我被告知黑客太多了,我必须使用React路由或其他东西。

因此,假设我有一个url为http://www.example.com/rankitapp/src/T9tutorial/dictionary.txt的文件

如果我写一个fetch:

代码语言:javascript
运行
复制
fetch("/rankitapp/src/T9tutorial/dictionary.txt")
    .then((response) => response.text())
    .then(function(data) {

        t9init(data);

     })

它只有在我破解nginx配置的情况下才能工作。

对于nginx将所有查询传递给React的原始标准配置,它不起作用。

知道我不能破解nginx,我如何获取那个文件?

我需要创建一些特殊的路由吗?

我是否以某种方式使用任何其他指令导入了变量中的文件?

EN

回答 1

Stack Overflow用户

发布于 2017-12-13 04:12:49

我们使用Axios而不是fetch,它能更好地处理HTTP状态错误。我们的设置是通过JSON文件将环境变量加载到redux中。

这听起来可能是问题的一部分:

代码语言:javascript
运行
复制
.then(response => response.text())

它“将响应转换为文本”,然后才能使用它。

我们的代码看起来像这样:

代码语言:javascript
运行
复制
const request = {
    url: 'http://example.com/my/file.text',
    method: 'GET'
};

return axios(request)
.then((response) => {
  // response.data has our data / values
  // we take the raw JSON and shove this into our redux state.
  // No parsing or anything like that. 
  // No need to run response.text() on it
})
.catch((error) => {
  dispatch(failureHandler(error));
});

这对于Axios vs Fetch来说是值得一读的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47778923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档