React 进阶,组件创建的4种方法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="react-container">
</div>
<script src="https://unpkg.com/react@15.4.2/dist/react.js"></script>
<script src="https://unpkg.com/react-dom@15.4.2/dist/react-dom.js"></script>
<script>
const IngredientsList = React.createClass({
displayName: "IngredientsList",
render() {
return React.createElement("ui", null,
this.props.items.map((ingredient, i) => {
return React.createElement("li", {key: i}, ingredient);
})
)
}
});
class IngredientsList2 extends React.Component {
renderListItem(ingredient, i) {
return React.createElement("li", {key: i}, ingredient);
}
render() {
return React.createElement("ul", null,
this.props.items.map(this.renderListItem)
)
}
}
const IngredientsList3 = props => {
return React.createElement("ul", null,
props.items.map((ingredient, i) => {
return React.createElement("li", {key: i}, ingredient);
})
)
}
const IngredientsList4 = ({items}) => {
return React.createElement("ul", null,
items.map((ingredient, i) => {
return React.createElement("li", {key: i}, ingredient);
})
)
}
const items = [
"1 lb Salmon",
"1 cup Pine Nuts",
"2 cups Butter Lettuce"
]
const list = React.createElement(IngredientsList4, {items}, null);
console.log(list);
ReactDOM.render(list, document.getElementById('react-container'));
</script>
</body>
</html>