回顾我的代码 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
。
另一方面,您的内部函数 plus
和 min
是纯粹的,可以说是函数式编程方法。
您可以像这样更改您的代码
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>
希望这段代码对你有所帮助
我尝试学习在 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
。
另一方面,您的内部函数 plus
和 min
是纯粹的,可以说是函数式编程方法。
您可以像这样更改您的代码
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>
希望这段代码对你有所帮助