美文网首页React.js专题站React.js
如何编写一个react组件并使用

如何编写一个react组件并使用

作者: cowkeys | 来源:发表于2016-10-21 10:43 被阅读435次

关于react

首先推荐先看阮一峰的react技术栈教程 React技术栈教程
其中的 React入门 | webpack 对了解react非常有用
然后推荐使用es6语法编写react组件。es5和es6的写法不同 同样推荐阮的es6入门

开始 (现在编写一个组件LoginBox)

  1. 必备 npm环境 (略)

  2. 新建项目目录example,安装react必要组件

npm init
npm install --save react
npm install --save react-dom
npm install --save-dev webpack //打包图片 css js的工具
npm install --save-dev webpack-dev-server//实时调试工具
npm install --save-dev babel-loader
npm install --save-dev babel-core
npm install --save-dev css-loader
npm install --save-dev style-loader
npm install --save-dev babel-preset-es2015
npm install --save-dev babel-preset-react //这些都是转化jsx语法到js的各种包 按需install
  1. 新建LoginBox.js
    引用react
    import React from 'react';
    编写组件代码(示例)
class LoginBox extends React.Component {
    constructor(props){
        super(props);
    }
    render() {
        return (
         <div>
                <form method="post" >
                    <div>
                    <label htmlFor="username">账户名</label>
                    <input type="text" name="username" placeholder="电子邮箱或者手机号码" />
                    </div>
                    <div>
                    <label htmlFor="password">密码</label>
                    <input name="password" id="password" placeholder="注册账户时所用密码" type="password" />
                    </div>
                    <button type="submit" >登入</button>
                </form>
        </div>
        );
  }
}
export default LoginBox 
  1. 新建一个main.js ( webpack 入口文件 )
    首先 页面可能需要引用js,css等文件 所以先在main.js中引用
import './site.css'
import './example.js'

引用react 和react-dom

import React    from 'react';
import ReactDOM from 'react-dom';

引用刚写的LoginBox, (这样就可以在main.js中直接使用<LoginBox />标签)

import LoginBox from './loginbox';

编写main.js具体代码

const app = document.querySelector('#app');
const LoginPage = React.createClass({
  render() {
    return (
      <div>
      //其他html代码
      <LoginBox />
      </div>
    );
  }
});
ReactDOM.render(<LoginPage/>, app); //将上面的html 绑定到id为app的标签下
  1. 使用webpack打包成一个js文件,然后在页面中引用
    新建webpack.config.js文件,来让webpack命令找到相应的目录并使用对应的加载器(loader)来打包各种文件
module.exports = {
  entry: 
    __dirname+'/main.js', //__dirname 是webpack.config.js文件所处的目录
  output: {
    path: __dirname, 
    filename: 'cuslogin.js'//最后导出的文件
  },
  module: {
    loaders:[{
            test: /\.js$/,
            exclude: /(node_modules)/,
            loader: 'babel-loader',
            query:{
                presets:['es2015','react']
            }
        },{  test: /\.css$/, 
             loader: 'style-loader!css-loader' }
    ]
  }};

输入webpack命令打包上面所有文件,生成 cuslogin.js

webpack
  1. index.html
    最后在html页面就能引用刚刚生成的js
<!DOCTYPE html>
<html lang="zh">
<body>
<div id="app"></div>
<script src="cuslogin.js"></script>
</body>
</html>
  1. 调试查看index.html页面
    输入命令webpack-dev-server,这是一个小型服务器,可以在8080端口打开当前目录
webpack-dev-server
  1. 浏览器打开 http://localhost:8080 就能直接看到index.html页面了

相关文章

  • 如何编写一个react组件并使用

    关于react 首先推荐先看阮一峰的react技术栈教程 React技术栈教程其中的 React入门 | we...

  • 面试题

    React组件的渲染流程是什么? 使用 React.createElement或 JSX编写 React组件,实际...

  • React学习(5)-React中组件的数据-props

    前言 开发一个React应用,更多的是在编写组件,而React组件最小的单位就是React元素,编写组件的最大的好...

  • [FE] 使用 vite 构建 react lib

    背景 最近使用 vite 创建了 React + TypeScript 项目,其中编写了一些 React 组件。就...

  • React笔记

    1、组件如果我们使用react搭建页面的话,页面就是由我们编写的组件各种组合嵌套而来,可以说组件是react的基本...

  • oneDrive网盘项目开发规范

    前端 技术选型 使用 react , 统一使用函数式组件,Hook 样式编写 全局使用CSS 局部使用styled...

  • react的单文件编写方式

    single-react-loader 通过该插件,你可以使用单文件形式编写react组件(将jsx与style组...

  • react受控组件和非受控组件

    1. 非受控组件 React 要编写一个非受控组件,可以使用ref 来从DOM节点中获取表单数据,就是非受控组件。...

  • 深入挖掘React Diff算法

    编写使用一些可重复使用的UI组件的JS框架(如React),通过Provider链接全局store到这些组件(例如...

  • [React-Native]React-Native for A

    概述 在我们使用React-Native的时候,最主要的方面是对界面UI组件的编写。React-Native采用了...

网友评论

    本文标题:如何编写一个react组件并使用

    本文链接:https://www.haomeiwen.com/subject/hpnfuttx.html