Javascript onFocus和onBlur不会在react中渲染
我有以下代码Javascript onFocus和onBlur不会在react中渲染,javascript,reactjs,dom-events,Javascript,Reactjs,Dom Events,我有以下代码 历法 ; 在输入标记中,我尝试在默认情况下在输入字段中显示占位符文本,单击时,我希望将类型更改为日期。问题似乎是当你在Chrome上点击inspect元素时。它不会显示onFocus和onBlur p/S:即使是onClick也似乎有同样的问题这就是你要找的吗 var Foo=React.createClass({ getInitialState:函数(){ 返回{ 键入:“文本” }; }, onFocus:function(){ 这是我的国家({ 键入:“日期” });
历法
;
在输入标记中,我尝试在默认情况下在输入字段中显示占位符文本,单击时,我希望将类型更改为日期。问题似乎是当你在Chrome上点击inspect元素时。它不会显示onFocus
和onBlur
p/S:即使是
onClick
也似乎有同样的问题这就是你要找的吗
var Foo=React.createClass({
getInitialState:函数(){
返回{
键入:“文本”
};
},
onFocus:function(){
这是我的国家({
键入:“日期”
});
},
onBlur:function(){
这是我的国家({
键入:“文本”
});
},
渲染:函数(){
返回(
)
}
});
React.render(,document.body);
正如我在上面所评论的,render方法在每次状态更改时第一次触发,之后触发(如果实现了,则如果shouldComponentRender返回true):
组件只有在状态改变后才会渲染…它第一次渲染后,您需要通过改变状态来触发渲染。您是比尔·盖茨吗@盖茨
var Foo = React.createClass({
getInitialState: function () {
return {
type: 'text'
};
},
onFocus: function () {
this.setState({
type: 'date'
});
},
onBlur: function () {
this.setState({
type: 'text'
});
},
render: function () {
return(
<input
type={ this.state.type }
onFocus={ this.onFocus }
onBlur={ this.onBlur }
placeholder="Enter your date here."
/>
)
}
});
React.render(<Foo/>, document.body);