React js:为什么我无法创建闭包
React js: Why I'm unable to create closure?
我isLeap
作为检查当前年份是否为闰的道具,另一个道具currentMonth
当月计数。(例如 1 表示 2 月)
当我尝试在函数或闭包中创建函数时,控制台会抛出"Unexpected token"
错误,如下所示
70 | },
71 | daysInMonth : function(d){
> 72 | var leapCase = function(this.props.isLeap){
| ^
73 | }
74 | },
75 | render : function(){
在渲染函数中,我通过组件的属性调用上面的函数:
<Week key={i} dayCount = {this.daysInMonth(this.props.currentMonth)} />
您尝试使用参数启动一个函数,该参数this
用于确定函数的调用方式。如果你想在闭包中访问this.props,试试这个。
70 | },
71 | daysInMonth : function(){
var props = this.props
72 | var leapCase = function(){
| console.log(props.isLeap)
73 | }
74 | },
75 | render : function(){
在渲染函数中,像
<Week key={i} dayCount = {this.daysInMonth.bind(this)} />
要定义闭包,您需要像这样包装函数
var leapCase = (function(props){
return function(){
if (props.isLeap){
...
}
};
})(this.props)
你有语法错误,你不能在函数参数的名称中使用.
和this
,
var leapCase = function(isLeap) {
// ...
};
leapCase(this.props.isLeap)
相关文章:
- 使用闭包创建原型中引用的私有属性
- 如何使用继承创建类似谷歌闭包的结构
- 为什么需要在这个闭包中创建一个变量
- 是否可以在Javascript中创建外部闭包
- React js:为什么我无法创建闭包
- Javascript:是为所有变量创建的闭包,还是只为内部函数可能使用的变量创建的闭包
- 在闭包上创建多个元素的列表器
- 创建带有回调的动态 JSON 数组(内部闭包问题)
- 为什么咖啡脚本创建此闭包
- 我们是否可以使用谷歌闭包创建一个带有复选框和组合框的对话框
- 闭包可以使用new关键字和区别,例如,在创建新对象/类时
- 在javascript中,当原型继承比闭包更适合创建对象时
- 使用闭包创建的私有函数如何访问构造函数中定义的变量
- 无法创建闭包中定义的函数的对象
- 在for循环中创建闭包——我这样做对吗
- 参数变量在JavaScript中创建闭包
- 如何在承诺链中继承数据而不创建闭包
- 如何为必应地图事件创建闭包
- 从已定义的函数创建闭包
- 如何在循环中创建闭包并将其存储在变量中以供以后执行