关于react.js:react-计算属性

react实现计算属性

react没有像vue那样间接封装一个computer计算属性,然而他有本人得实现形式,辨别是class组件还是function组件

class组件

  • 通过class得get办法,能够依赖于props或者state
class Demo extends React.Component {
    constructor(props) {
        super(props)
        this.state = {
            count: 1
        }
    }
    get otherCount() {
        return this.state.count + 1
    }
    render() {
        return <div>{this.otherCount}</div>
    }
}
  • 间接在render办法外面写,因为state和props的扭转会触发render的执行
class Demo extends React.Component {
    constructor(props) {
        super(props)
        this.state = {
            count: 1
        }
    }
    render() {
        return <div>{this.state.count + 1}</div>
    }
}

function组件

function组件能够应用useMemo

import React, { useState, useMemo } from 'react';

function Demo() {
  const [count, setCount] = useState(0);

  const double = useMemo(() => {
    return count * 2;
  }, [count])

  return (
    <div>
      {double}
    </div>
  )
}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理