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> )}