Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript onFocus和onBlur不会在react中渲染_Javascript_Reactjs_Dom Events - Fatal编程技术网

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);