reactjs - 与渲染相比,React 钩子
问题描述
我很新的反应,发现当你开始一个新项目时,样板与最近有点不同。现在它带有这样的东西:
import React from 'react';
function App() {
return (
<div>
<h1>Hello world!</h1>
</div>
);
}
export default App;
而不是像以前那样:
import React, { Component } from 'react';
class App extends Component {
render() {
return (
<div>
<h1>Hello World</h1>
</div>
)
}
}
export default App;
渲染功能消失了。我发现它与钩子有关。
类现在反应了吗?渲染函数也是如此吗?我知道您仍然可以使用“旧方式”,但只是为了确保我做对了。跟钩子有关系吧?
与编写组件的 render 和 class 方式相比,使用 hooks 有什么好处?
我想这也适用于 react-native ...
解决方案
这不是旧方式或新方式。这只是两种不同的方式已经存在了一段时间。
如果您构建没有状态的更简单的组件,则可以使用Function Components。这是您在帖子中的第一个符号:返回 JSX 表达式的函数。
如果您构建带有自己状态的更复杂的组件,并且将它们实现为类是有意义的,那么您可以使用Class Components。这是您在帖子中使用的第二个符号:具有渲染函数的类,该函数又返回一个 JSX 表达式。
两者在React 文档中都有很好的描述。
推荐阅读
- c# - 如何获取 List 中项目的所有属性并使用 LINQ 将它们转换为 GridColumn?
- python - 在发生此 Keras/TensorFlow CPU 错误后,我的代码是否仍在运行?
- css - 在 Selenium 中验证大小和坐标
- mysql - 应用程序无法启动 :::“无法配置数据源:未指定 'url' 属性,并且无法配置嵌入式数据源。”
- html - 增加Firefox中内容的高度
- java - 如何将(Object obj)这种类型的对象转换为 JSON 然后返回?
- json - 使用 jq 从 gpsd 输出计算使用和查看的卫星数量
- vue.js - :键在 v-for 上重新渲染列表中的一行 || 复合值作为 :key 而不是索引
- ibm-doors - 我们如何对 DOORS 中的视图进行排序
- typescript - 使用 Next.JS 进行实时 Typescript 检查