博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二手前端入门React项目
阅读量:7058 次
发布时间:2019-06-28

本文共 2889 字,大约阅读时间需要 9 分钟。

  个人对ReactJS这门技术比较感兴趣,在基友的帮助下成功创建了一个React标准前端工程,过程中遇到了不少麻烦,今天作为笔记一般记录一下遇到的问题和解决方案。

  • 基础环境

    手头一台Mac 使用OSX系统,IDE使用WebStorm,装好了npm

  • 安装过程

    因为没有很深厚的前端基础,所以学习时候采用create-react-app这个官方脚手架搭建,在此之前无论是windows,mac os,linux必须在bash中装有npm。

    本人在安装过程中发生灵异现象,安装create-react-app却无法在bash中使用。安装第一步就是在装有npm的bash中输入

npm install -g create-react-app

    安装完成之后,一直显示command not found,不知道哪里配置出了问题。

    后来在网上找到一个解决方案,在user根目录下创建一个全局包,并把npm的全局命令设置为这个根目录,然后配置.bash_profile

    首先创建一个包含全局命令的文件夹

mkdir 文件夹名字

    然后配置npm指向

npm config set prefix ‘文件夹路径’

    然后配置user根目录~下的.bash_profile

export PATH=文件夹路径:$PATH

   接着如果还是not found 就在安装一次,之后检查文件夹有否生成内容,我到此步已经成功装上。然后到你的js工作目录下,创建React项目。

create-react-app 项目名

   之后会生成一个标准的react项目

   启动就好,启动命令

npm start

  • Just go into it

     

    打开index.html,发现它只有一个标签root,而所有的布局和组件全由ReactJS完成。

import React from 'react';import ReactDOM from 'react-dom';import './index.css';import App from './App';import registerServiceWorker from './registerServiceWorker';ReactDOM.render(
, document.getElementById('root'));registerServiceWorker();

    乍一看,宛如Java代码一般。

    项目搭建已经完毕,可以尽情地在JSX的世界中surfing(浪)了,可以预见前面还有很多坑。

  • 熟悉React组件开发模式

    12月16日添加

    新前端框架享誉盛名的组件化,今日初探,特地记录一下。

    一般React项目只有一个标签,并根据此标签不断的进行拓展,根据Class的组合组成新的页面。

    最基础的是Index

import React from 'react';import ReactDOM from 'react-dom';import './index.css';import App from './App';import registerServiceWorker from './registerServiceWorker';ReactDOM.render(    
, document.getElementById('root'));registerServiceWorker();

    它的页面构造是由App这个标签来拓展的,仔细观察可以看到这个App很像是Java的对象。我们进入App.js查看。

import React, { Component } from 'react';import './App.css';import Button1 from './Button1'import Button2 from './Button2'class App extends Component {    const    render() {        return (            

hello world

); }}export default App;

    我将App这个class的render方法改写,嵌入了两个按钮。在最后一行export一个default名字,就像一个单例模型返回对象一样,在index引入的时候使用这个默认的对象名,就可以使用这个组件了。而引入组件的时候,需要使用html的尖括号标签来“调用”对象。

    本次写了两个button Demo,点击之后alert一下,表示绑定了点击事件,它的构成和Java的class很像。在处理完组件逻辑之后,render一下生成一个视图。

import React, { Component } from 'react';import './App.css';class Button1 extends React.Component{    handleClick() {        alert("this is btn1");    }    render() {        return (                    );    }}export default Button1;
import React, { Component } from 'react';import './App.css';class Button2 extends Component{    handleClick() {        alert("this is btn2");    }    render() {        return (                    );    }}export default Button2;

    页面上的表现是这样的。css可以根据个人爱好调制。

    点击之后

 

     从此Demo和以往的页面构造知识联系起来,可以感悟到一些现代前端的代码设计思想。

 

  • 参考资料

    用Facebook的create-react-app快速构建React开发环境

      

    修复npm安装全局模块权限问题

      

转载于:https://www.cnblogs.com/chentingk/p/8011953.html

你可能感兴趣的文章
MongoDB学习笔记(3)--删除数据库
查看>>
JQuery Checkbox 获取多选值 Checkbox选中个数
查看>>
spring boot mvc系列-静态资源配置与MappingHandler拦截器
查看>>
Postgresql查询出换行符和回车符:
查看>>
基于.Net + SqlServer的分库分表设计方案
查看>>
settings.xml配置详解
查看>>
Fix problems that block programs from being installed or removed
查看>>
python字符串格式化输出
查看>>
Idea 如何设置微软雅黑等其它字体
查看>>
PIC单片机学习之SPI操作数码管
查看>>
Delphi2007升级到Delphi 2010总结
查看>>
路由器开发
查看>>
Export excel的终级解决方案
查看>>
C# 为webBrowser设置代理
查看>>
VSTS 2005 写SQL Server存储过程基础 (C#)
查看>>
ERWin 连接SQL Sever2005的问题
查看>>
Asp.net 通过Repeater循环添加对应的一组控件
查看>>
ubuntu下解压文件命令大全(转)
查看>>
类型自定义格式字符串
查看>>
Install Hive
查看>>