我有一个非常基本的 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 在页面加载时被调用两次
有人能解释一下为什么吗?
我运行了 create-react-app。
\n不做任何更改并运行测试。
\n测试立即失败。
\n错误:无法初始化监视插件“node_modules/jest-watch-typeahead/filename.js”:
\n\xe2\x97\x8f 测试套件运行失败
\nfile:///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)\nRun Code Online (Sandbox Code Playgroud)\n到底是什么?
\n有人可以帮忙吗?
\n