回顾我的代码 React 中的函数式编程

Review my code Funcational Programing in React

我尝试学习在 React 中编写函数式编程代码。 你能检查和审查我的代码并告诉我它是否有效吗?或者我怎样才能写得更好!

非常感谢

    oprationButton(val , oprator){ 

        if(oprator === 'min')
            return this.setState({currentVal: min(val)})
        else if(oprator === 'plus')
            return this.setState({currentVal: plus(val)})

        function min(val){ 
           if (val > 0)
            return val
            else return 0
        }

        function plus(val){
            return val + 1
        }      

}



    <button type="button" 
onClick={() => this.oprationButton(this.state.currentVal,'min')}>Click Me!</button>

由于 oprationButton 正在改变状态,它不是内部变量,并且不返回任何内容,因此它不是 pure 函数,也不是 functional programming。 另一方面,您的内部函数 plusmin 是纯粹的,可以说是函数式编程方法。

您可以像这样更改您的代码

pluseButton(val, oprator) {
    if (oprator === 'min') {
        let min = this.mines(val)
        return this.setState({currentVal: min})
    } else if (oprator === 'plus')
        return this.setState({currentVal: ++val})
}

mines(val) {
    let sum = val - 1;
    if (sum > 0) return sum
    else return 0
}




 <button type="button" 
onClick={() => this.oprationButton(this.state.currentVal,'min')}>Click Me!</button>

希望这段代码对你有所帮助