PHPer的React实战之路 —H5

1.  公司要求使用facebook的create-react-app来开发H5页面;以下是使用过程中碰到的问题

2. 开发流程:

    (1)安装 goole 扩展程序 React Developer Tools(react开发工具)

    (2)下载 create-react-app

    npx create-react-app my-app
    cd my-app

    (3)启动一个服务,来监听文件的变化:类似browser-sync的功能;

            使用的指令是:npm   start   (start 在package.js 文件中的scripts标签里面)

            问题 1:如图 ,npm 的版本 问题 

                 

解决方案:更新npm的版本   npm install  -g   npm@latest

    问题 2 :react-script  start      指令react-script 未找到,如图


解决方案:删除modules : rm  -rf node_modules    再次安装modules : npm insatll

               然后全局安装  react-scripts  包: npm  install  -g  react-scripts

                再局部安装react-scripts  包:npm  install  -g  react-scripts  --save

    (4)React开发中的问题:

            getinintalState() 方法在ES6语法中,已经不存在了;直接使用state ={ };即可

    (5)在ES6中,为了保证this对象的一致性,用户自定义的方法,尽量使用箭头函数,箭头函数能够保证内外对象的一致性。

语法: 函数名 =(参数列表)=> {  //逻辑代码   函数内this 对象 和函数外的this对象 始终是一个对象,是固定不变的 }


import React from 'react';
import { Form, Input, Button,Tooltip } from 'antd';
import Axios from 'axios';
import './FormComponent.css';
const {TextArea} = Input;

class FormComponent extends React.Component {
  constructor(props) {
      super(props);
  }
  state = {
    loading:false,
    iconLoading:false,
    TextAreaValue:'',
    title:'欢迎语不能为空'
  };

  //点击按钮事件
enterIconLoading = () => { this.setState({ iconLoading: true }); //发送ajax请求 let url = this.props.url ? this.props.url :'https://a.speaka.cn'; let data = { teamWelcom : this.state.TextAreaValue }; this.setState({ iconLoading: true }); //发送ajax请求 let url = this.props.url ? this.props.url :'https://a.speaka.cn'; let data = { teamWelcom : this.state.TextAreaValue };
Axios.post(url,data).then(function(response){ console.log(response); }).catch(function(error){ console.log(error); }); } handleSubmit=(e)=>{ this.setState({ TextAreaValue : e.target.value }); } render(){ return ( <div className="container"> <div className="c_top"> <h1>设置班级欢迎语</h1> <p></p> </div> <div className="c_center"> <Form> <div className="c_info"> <Tooltip placement="top" title={this.state.title}> <TextArea placeholder="班级欢迎语" value={this.state.TextAreaValue} autosize={{ minRows:4, maxRows: 18 }} onChange={this.handleSubmit}> </TextArea> </Tooltip> </div> <div className="btn-width"> <Button type="primary" icon="poweroff" loading={this.state.iconLoading} onClick={this.enterIconLoading}> Submit </Button> </div> </Form> <div className="cc_tip"> <p className="cc_t_p1">其 身 正,不 令 而 行</p> <p className="cc_t_p2">其 身 不 正,虽 令 不 从</p> <p className="cc_t_p3">----孔子</p> </div> </div> <div className="c_bottom"> <img className="img_icon img_icon_1" src="http://s.speaka.cn/static/2.png"/> <img className="img_icon img_icon_2" src="http://s.speaka.cn/static/3.png"/> <img className="img_icon img_icon_3" src="http://s.speaka.cn/static/4.png"/> <img className="img_icon img_icon_4" src="http://s.speaka.cn/static/5.png"/> </div> </div> ); } } export default FormComponent;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为一个PHP开发人员,以下是一些你可以学习和提升自己的建议: 1. 深入学习PHP语言:不断深入学习PHP语言本身的特性和功能,包括掌握PHP的高级特性、面向对象编程、异常处理、命名空间等。阅读官方文档、参考书籍以及在线教程,可以帮助你更好地理解和应用PHP。 2. 掌握PHP框架:学习和熟练掌握流行的PHP框架,如Laravel、Symfony、CodeIgniter等。框架可以提供更高效和可维护的开发方式,并且具有许多常用功能和最佳实践。通过使用框架,你可以加快开发速度并构建更高质量的应用程序。 3. 学习前端技术:作为一个PHP开发人员,熟悉前端技术(如HTML、CSS、JavaScript)是非常有益的。这样你可以更全面地开发Web应用程序,实现更好的用户体验。学习流行的前端框架(如React、Vue.js)也是一个很好的选择。 4. 掌握数据库技术:数据库在Web开发中起着重要作用,所以掌握数据库技术对于一个PHP开发人员来说是必不可少的。学习SQL语言,了解关系型数据库(如MySQL)和非关系型数据库(如MongoDB)的使用和优化技巧。 5. 参与开源项目和社区:积极参与开源项目和社区,与其他开发者交流和分享经验。通过参与开源项目,你可以学习到其他人的最佳实践,并有机会提升自己的编程能力。 6. 持续学习和自我提升:Web开发技术不断演进,持续学习是非常重要的。跟踪行业的最新趋势和技术,参加培训课程、研讨会和在线教育平台上的课程,保持对新技术的好奇心,并将其应用到实际项目中。 7. 开发项目经验:除了学习,实际项目经验也是提升自己的重要途径。尝试参与一些小型项目或者个人项目,通过实践中不断积累经验和解决问题,提高自己的编码能力和技术水平。 总之,持续学习、实践和参与社区是提升自己作为PHP开发人员的关键。不断提升自己的技术能力,关注行业发展趋势,扩展自己的技术广度和深度,将有助于你在PHP开发领域取得更好的成绩。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值