小编Cra*_*Fox的帖子

为什么fetch在react中多次调用api?

我有一个非常基本的 api,它所做的就是返回文本“Sunny day”。

我使用 create React app 创建一个 React 项目,并尝试调用 api 一次,然后将结果打印到控制台。

这是反应应用程序

import logo from './logo.svg';
import './App.css';

function App() {

  fetch('https://localhost:44386/weatherforecast')
  .then(response => response.text())
  .then(data => console.log(data));

  return (
    <div className="App">
      <header className="App-header">
        <img src={logo} className="App-logo" alt="logo" />
        <p>
          Edit <code>src/App.js</code> and save to reload.
        </p>
        <a
          className="App-link"
          href="https://reactjs.org"
          target="_blank"
          rel="noopener noreferrer"
        >
          Learn React
        </a>
      </header>
    </div>
  );
}

export default App;
Run Code Online (Sandbox Code Playgroud)

问题是 api 在页面加载时被调用两次

有人能解释一下为什么吗?

javascript fetch reactjs

4
推荐指数
1
解决办法
6919
查看次数

创建反应应用程序测试不运行而不对代码进行任何更改

我运行了 create-react-app。

\n

不做任何更改并运行测试。

\n

测试立即失败。

\n

错误:无法初始化监视插件“node_modules/jest-watch-typeahead/filename.js”:

\n

\xe2\x97\x8f 测试套件运行失败

\n
file:///C:/_Projects/my-app/node_modules/jest-watch-typeahead/build/file_name_plugin/prompt.js:4\nimport { PatternPrompt, printPatternCaret, printRestoredPatternCaret } from 'jest-watcher';\n         ^^^^^^^^^^^^^\nSyntaxError: The requested module 'jest-watcher' is expected to be of type CommonJS, which does not support named exports. CommonJS modules can be imported by importing the default export.\nFor example:\nimport pkg from 'jest-watcher';\nconst { PatternPrompt, printPatternCaret, printRestoredPatternCaret } = pkg;\n\n  at async requireOrImportModule (node_modules/jest-util/build/requireOrImportModule.js:65:32)\n  at async watch (node_modules/@jest/core/build/watch.js:337:34)\n  at async _run10000 (node_modules/@jest/core/build/cli/index.js:311:7)\n
Run Code Online (Sandbox Code Playgroud)\n

到底是什么?

\n

有人可以帮忙吗?

\n

reactjs create-react-app

3
推荐指数
1
解决办法
2782
查看次数

标签 统计

reactjs ×2

create-react-app ×1

fetch ×1

javascript ×1