美文网首页
Hook之useState记录

Hook之useState记录

作者: callPromise | 来源:发表于2020-08-28 08:49 被阅读0次

    Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。

    import React, { useState } from 'react';
    
    function Example() {
      // 声明一个叫 "count" 的 state 变量
      const [count, setCount] = useState(0);  //<---初始值为0
    
      return (
        <div>
          <p>You clicked {count} times</p> {/*直接读取count */}
          <button onClick={() => setCount(count + 1)}>
            Click me
          </button>
        </div>
      );
    }
    

    等价的 class 示例

    class Example extends React.Component {
      constructor(props) {
        super(props);
        this.state = {
          count: 0
        };
      }
    
      render() {
        return (
          <div>
            <p>You clicked {this.state.count} times</p>
            <button onClick={() => this.setState({ count: this.state.count + 1 })}>
              Click me
            </button>
          </div>
        );
      }
    }
    

    Hook 是什么?

    在新示例中,首先引入 React 中 useState 的 Hook

    import React, { useState } from 'react';
    

    Hook 是什么? Hook 是一个特殊的函数,它可以让你“钩入” React 的特性。例如,useState 是允许你在 React 函数组件中添加 state 的 Hook。稍后我们将学习其他 Hook。

    什么时候我会用 Hook? 如果你在编写函数组件并意识到需要向其添加一些 state,以前的做法是必须将其它转化为 class。现在你可以在现有的函数组件中使用 Hook。

    相关文章

      网友评论

          本文标题:Hook之useState记录

          本文链接:https://www.haomeiwen.com/subject/aheedktx.html