react
本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:
React 大体包含下面这些概念:
- 组件
- JSX
- Virtual DOM
Data Flow
react是单向数据绑定
组件生命周期
一般来说,一个组件类由 extends Component 创建,并且提供一个 render 方法以及其他可选的生命周期函数、组件相关的事件或方法来定义。
一个简单的例子:
import React, { Component } from 'react';
import { render } from 'react-dom';
class LikeButton extends Component {
constructor(props) {
super(props);
this.state = { liked: false };
}
handleClick(e) {
this.setState({ liked: !this.state.liked });
}
render() {
const text = this.state.liked ? 'like' : 'haven\'t liked';
return (
<p onClick={this.handleClick.bind(this)}>
You {text} this. Click to toggle.
</p>
);
}
}
render(
<LikeButton />,
document.getElementById('example')
);
写一下react遇到的坑吧
先是webpack,
webpack2 loader要写全 例如css-loader
问题:
devServer: {
contentBase: './build',
colors: true,
historyApiFallback: true,
inline: true,
port: 8080,
process: true
}
process跟colors会报错。不知道因为什么。
解决方法就是删除了这两个–希望有大神教
在1.5以后的react
React.createClass会报错 说没有。。
解决方法
var createReactClass = require('create-react-class');
定义一个createReactClass
var ItemComponent=createReactClass({
//自己的代码
})