【发布时间】:2020-05-11 23:33:52
【问题描述】:
我用create-react-app创建了一个项目:
yarn create react-app example-react-ts --template typescript
然后创建了一个简单的组件:
import * as React from 'react'
interface ExampleProps {message: string}
class Example extends React.Component<ExampleProps> {
render() {
console.log("render")
return (<div><p>{this.props.message}</p></div>)
}
}
export default Example
Firefox 打印一次“渲染”。
Chrome 打印“渲染”两次。
如果我用功能组件替换它:
import * as React from 'react'
interface ExampleProps {message: string}
export const Example = (props: ExampleProps) => {
console.log("render")
return (
<div><p>{props.message}</p></div>
);
}
export default Example
Firefox 和 Chrome 都打印“渲染”一次。
为什么?
【问题讨论】:
-
它只在我的 Chrome 中呈现一次:codepen.io/Squeegy/pen/yLYEPJx?editors=0010
标签: reactjs typescript react-tsx