我刚刚开始从官方网站学习 React js,教程中有这一步,为了制作一个工作时钟,您将一个函数转换为一个类。我的问题是,既然可以用更简单的方法来完成,为什么有人要这样做呢?
最佳答案
当您想要访问所有 React.Component
功能(例如 props
和 state
)时,life cycle methods , ref
和 much more ,您需要从 React.Component
extend
。
您只能使用 class
(在 ES6
中)
编辑
Just one thing, you can access to props too declaring a function
实际上这不是真的,无状态组件只是返回 jsx
的函数。它们是接受参数的正常、常规函数。
我们有时会使用 props
关键字作为参数,这只是一种习惯或惯例,但您可以使用任何您想要的关键字。
例子:
const MyHeader = (myParams) => (
// no props here
<h2>{myParams.value}</h2>
);
class MyApp extends React.Component{
render(){
const {message} = this.props; // i get access to this.props as i extended React.Component
return(<MyHeader value={message} />);
}
}
ReactDOM.render(<MyApp message="Hello!" />, document.getElementById('root'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="root"></div>
关于javascript - 为什么有人想在 React js 中将一个函数变成一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46643796/