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

标签 javascript reactjs functional-programming functional-testing

<分区>

我尝试学习在 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>

最佳答案

你可以这样修改你的代码

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>

希望这段代码对你有帮助

关于javascript - 回顾我的代码 React 中的函数式编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53737372/

相关文章:

javascript - 如何在没有全局变量的情况下从html中的不同事件调用类方法

c# - Bind 和 Map 之外的 Option<T> monad 的标准操作

reactjs - 使用 TypeScript 在 useState React Hook 上设置类型

ios - react native 按钮单击移动到另一个屏幕

reactjs - 如何禁用单击轨道来更改 Material ui slider 中的值?

functional-programming - defun 和 defstruct 中的百分号

function - Monad 和函数之间的区别

javascript - 如何在 javascript 中为以下快速排序算法设置动画?

javascript - 如何将表单数据保存到数据库,同时需要防止由于socket.io而导致表单提交?

javascript - 使用 settimeout 绕过地理编码查询限制