在类方法中使用React.js静态
Using React.js statics inside class methods
我有以下小部件类:
var Widget = React.createClass({
statics: {title: "a title"},
...
});
有没有一种方法可以访问类的方法中的静态标题(使用this
)?例如:
render: function() {
return <div>{this.title}</div>;
}
您可以从组件内的this.constructor
:访问静态
所以在这种情况下,它将是:
this.constructor.title
直接答案:
React.createClass({
title: 'a title',
render: function() {
return <div>{this.title}</div>;
}
});
或者:
React.createClass({
componentWillMount: function(){
this.title = 'a title';
},
render: function() {
return <div>{this.title}</div>;
}
});
但实际上。。。为什么不直接使用一个变量呢?
var TITLE = 'a title';
React.createClass({
render: function() {
return <div>{TITLE}</div>;
}
});
statics
对象是定义静态方法(即不需要任何上下文来运行的方法)的一种方式。也就是说,从this
调用静态方法是没有意义的。
看起来您正在寻找一个"静态"属性(即不可变)。因此,您应该像在render()
上使用this.props.title
一样使用它。要设置title的值,您应该执行<Widget title='a title'/>
。值得一提的是,您可以通过定义getDefaultProps
方法来设置默认属性。
更多关于静态和道具的信息,请参阅React的文档。
相关文章:
- react.js中的密钥绑定
- 如何在react js中将值从一个组件发送到另一个组件
- 如何在react js中从一个页面导航到另一个页面
- 为什么我的点击事件没有使用 react js 触发
- 如何在react js中移动第二个组件
- 如何在react js中设置按钮点击的值
- React js更改状态不会更新组件
- React JS:未捕获(在承诺中)语法错误:在位置 0 的 JSON 中意外<令牌
- 渲染”;a“;React.js中的可选href
- 当浏览器位置更改时重新渲染React.js
- React.js如何从js文件中获取数组
- 如何让React JS点击处理程序在执行时更新DOM
- 如何删除父表行时;删除“;在React JS中单击按钮
- 如何使用React JS中的循环,根据条件渲染或不渲染表数据
- 复选框保持React JS中各组件的状态
- React.js:将事件从父级附加到子级
- 在React JS中将道具传递给父级
- React.js如何使用虚拟DOM加速渲染
- 使用react js在跨域上执行事件javascript
- 在react js中渲染多个容器