收藏此站 联系我们 网站
当前位置:首页» 网络推广 » 【建站服务】甘肃企业网站设计 - 甘肃高端网站定制 - 甘肃品牌网站搭建 - 上往建站-域名申请

【建站服务】甘肃企业网站设计 - 甘肃高端网站定制 - 甘肃品牌网站搭建 - 上往建站-域名申请

作者: 风兰 . 阅读量: 88 . 发表时间:2022-09-21 06:03:23

网站建设

上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


甘肃企业网站设计 - 甘肃高端网站定制 - 甘肃品牌网站搭建 - 上往建站

网站建设.png

  changeUsername(event){
        this.setState({username:parseInt(event.target.value)})
    }
    render(){
       return(
            <div>
                <h1>下面的操作有惊喜</h1>
                <p>{this.state.username}</p>
                <input type="button" value="点击改变username" onClick={()=>this.changeAge()}/>
                <BodyChild changeUsername={this.changeUsername.bind(this)} getname={this.state.username}/>
            </div>
        )
    }}class BodyChild extends React.Component{
    render(){
        return(
            <div>
                <p>子页面输入:<input type='text' value={this.props.getname} onChange={this.props.changeUsername} /></p>

            </div>
        )
    }}ReactDOM.render(
    <CptBody  />,
    document.getElementById('example'));

尝试一下 »

BodyChild 组件的 render 函数返回值 jsx 中 <p> 的 value 是从父组件获取的 getname 这个变量值,onChange 获取的是 changeUsername 这个函数,所以如果文本框中的值改变了,改变值这个事件会触发 changeUsername 这个函数,这个函数会获得事件的值,即我们文本框修改后的值,并将其赋值给父组件的 state.username 这个变量。而父组件的这个变量改变后,state 随之改变,这时候,render 会重新启动,所以我们会看到修改后的值。

父组件的 jsx 中有一个箭头函数,有一个 bind 函数,这两者有什么区别吗?经验证,这两者是可以互换的。

onClick={this.changeAge.bind(this)} 和 onClick={()=>this.changeAge()} 可以互换。


React 事件处理

React 元素的事件处理和 DOM 元素类似。但是有一点语法上的不同:


React 事件绑定属性的命名采用驼峰式写法,而不是小写。

如果采用 JSX 的语法你需要传入一个函数作为事件处理函数,而不是一个字符串(DOM 元素的写法)

HTML 通常写法是:


<button onclick="activateLasers()">

  激活按钮

</button>

React 中写法为:


<button onClick={activateLasers}>

  激活按钮

</button>

在 React 中另一个不同是你不能使用返回 false 的方式阻止默认行为, 你必须明确使用 preventDefault。


例如,通常我们在 HTML 中阻止链接默认打开一个新页面,可以这样写:

<a href="#" onclick="console.log('点击链接'); return false">

  点我

</a>

在 React 的写法为:


function ActionLink() {

  function handleClick(e) {

    e.preventDefault();

    console.log('链接被点击');

  }

 

  return (

    <a href="#" onClick={handleClick}>

      点我

    </a>

  );

}

实例中 e 是一个合成事件。


使用 React 的时候通常你不需要使用 addEventListener 为一个已创建的 DOM 元素添加监听器。你仅仅需要在这个元素初始渲染的时候提供一个监听器。


当你使用 ES6 class 语法来定义一个组件的时候,事件处理器会成为类的一个方法。例如,下面的 Toggle 组件渲染一个让用户切换开关状态的按钮:


实例

class Toggle extends React.Component {

  constructor(props) {

    super(props);

    this.state = {isToggleOn: true};

 

    // 这边绑定是必要的,这样 `this` 才能在回调函数中使用

    this.handleClick = this.handleClick.bind(this);

  }

 

  handleClick() {

    this.setState(prevState => ({

      isToggleOn: !prevState.isToggleOn

    }));

  }

 

  render() {

    return (

      <button onClick={this.handleClick}>

        {this.state.isToggleOn ? 'ON' : 'OFF'}

      </button>

    );

  }

}

 

ReactDOM.render(

  <Toggle />,

  document.getElementById('example')



甘肃企业网站设计 - 甘肃高端网站定制 - 甘肃品牌网站搭建 - 上往建站



上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站

全国服务热线
18114747181
二维码
手机端二维码
上往建站
地址:全国各地都有驻点商务 |  网站建设上往建站
在线咨询QQ:1120768800
 
QQ在线咨询
售前咨询热线
18114747181
营销顾问
营销顾问
售后服务热线
400-000-1116
售后服务
售后服务