我们前面已经使用过webpac了,webpack-dev-server的区别就是:不必每次改完代码就手动编译一次。开发环境使用。
官网地址:
https://github.com/webpack/webpack-dev-server
安装:
npm install webpack-dev-server --save-dev
安装完成添加配置段:
devServer: {
contentBase: path.join(__dirname, "dev"),
compress: true,
port: 9000
}
之前使用webpack打包,我们是直接使用的wepack命令,其实我们可以用npm来调用webpack最终实现一样的功能,但可以简化命令。
在package.json
文件:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"wp": "webpack",
"wp-dev": "webpack-dev-server"
},
这样我们在终端就可以执行:
npm run wp
npm run wp-dev
然后我们可以访问:
http://localhost:9000/
ReactDOM.render(
<h1>Hello, world!h1>,
document.getElementById('root')
);
其中
就是元素。Hello, world!
另外一种定义元素的方式:
// 定义一个元素
// 只能有一个根节点
let show = this is xxxxx
;
ReactDOM.render(
show, // 使用到这个元素
document.getElementById('root')
);
// 定义一个组件
class Show extends React.Component{
render(){
return <div>zhangSan
div>
}
}
// 最后渲染
ReactDOM.render(
, // 使用组件
document.getElementById('root')
);
注意 组件和元素的区别。
组件上还可以有属性
。
// 定义一个组件
class Show extends React.Component{
render(){
return <div>{this.props.username}
div>
}
}
// 最后渲染
ReactDOM.render(
"jack"/>, // 使用组件
document.getElementById('root')
);
在组件里使用this.props.xxx
语法来获取属性值。
使用组件的时候可以传递属性值。
不但可以传递简单值,还可以传递对象。
// 定义一个组件
class Show extends React.Component{
render(){
return <div>{this.props.foo.username}
div>
}
}
// 一个对象
let obj = {username:"lily"};
// 最后渲染
ReactDOM.render(
, // 使用组件
document.getElementById('root')
);
class Show extends React.Component{
// 写一个函数
showMe(){
alert("点击了")
}
render(){
return <div>
{this.props.foo.username}
div>
}
}
上面代码我们在组件里定义了一个点击事件。
除了了函数写在render()
外面,还可以直接写在元素上
箭头函数的写法:
import React from 'react';
import ReactDOM from 'react-dom';
// 定义一个组件
class Show extends React.Component{
// 写一个函数
showMe(){
alert("点击了")
}
render(){
return <div>
{
this.props.users.map(
(item)=>{
return {item.username}
}
)
}
div>
}
}
// 一个数组
let arr = [
{username:"lily"},
{username:"jack"},
];
// 最后渲染
ReactDOM.render(
, // 使用组件
document.getElementById('root')
);