Reactjs React默认创建React应用程序组件渲染两次
我通过以下命令启动了新的React项目:Reactjs React默认创建React应用程序组件渲染两次,reactjs,Reactjs,我通过以下命令启动了新的React项目: npx创建反应应用程序我的应用程序--模板类型脚本 然后,我将应用程序组件更改为: import * as React from 'react'; export default class App extends React.Component<{}> { public render() { console.log("App Rendered"); return ( <div> H
npx创建反应应用程序我的应用程序--模板类型脚本
然后,我将应用程序组件更改为:
import * as React from 'react';
export default class App extends React.Component<{}> {
public render() {
console.log("App Rendered");
return (
<div>
Hello World
</div>
);
}
}
我的问题:为什么两次调用应用程序渲染 如何删除带有该WDS的第一条消息 这是我的
package.json
(运行createreact应用程序时的默认设置):
从src/index.tsx中删除React.StrictMode
从src/index.tsx中删除React.StrictMode
当使用React.StrictMode
包装时,在开发时,渲染将被调用两次。这样做是为了捕获某些setState函数不纯粹时可能出现的错误。您可以阅读更多详细信息。使用React.StrictMode
(这是如何设置的)包装时,在开发时,渲染将被调用两次。这样做是为了捕获某些setState函数不纯粹时可能出现的错误。您可以阅读更多详细信息。WDS-Webpack devserver@jonrsharpe如何禁用该消息?为什么要禁用任何消息?您试图解决的问题是什么?两次呈现应用程序组件是不正常的,为什么会出现这种情况?WDS-Webpack devserver@jonrsharpe如何禁用该消息?为什么要禁用任何消息?您试图解决的问题是什么?两次呈现应用程序组件是不正常的,为什么会发生这种情况?公平地说,我提交了@Kirill的答案,因为他首先回答了问题,但感谢您提供的信息,我相信这对其他人也会有用。@Dorki因为这个答案实际上回答了问题,让它成为公认的答案更有意义。公平地说,我提交了@Kirill的答案,因为他是第一个回答的,但谢谢你提供的信息,我相信它对其他人也会有用。@Dorki因为这个答案实际上回答了这个问题,所以让它成为公认的答案更有意义。
[HMR] Waiting for update signal from WDS...
App Rendered
App Rendered
{
"name": "my-app",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.3.2",
"@testing-library/user-event": "^7.1.2",
"@types/jest": "^24.0.0",
"@types/node": "^12.0.0",
"@types/react": "^16.9.0",
"@types/react-dom": "^16.9.0",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"react-scripts": "3.4.1",
"typescript": "~3.7.2"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}