React实现了一个鼠标移入的菜单栏效果

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8" />

<title>Hello React</title>

<script src="https://unpkg.com/react@15.3.2/dist/react.js"></script>

<script src="https://unpkg.com/react-dom@15.3.2/dist/react-dom.js"></script>

<script src="https://unpkg.com/babel-core@5.8.38/browser.min.js"></script>

<style>

*{

margin:0;

padding:0;

}

ul{

list-style:none;

}

.menus{

}

.menus .menu{

float:left;

margin-left:4px;

}

.menus .menu button{

padding:4px;

}

.menus ul.sub-menu{

background:#c1d2e3;

}

.menus ul li{

padding-left:4px;

}

</style>

</head>

<body>

<div >

<li>1</li>

<li>2</li>

<li>3</li>

<li>4</li>

</ul>

</div>

<div class="menu">

<button>

{buttonName}

</button>

<ul class="sub-menu">

<li>1</li>

<li>2</li>

<li>3</li>

<li>4</li>

</ul>

</div>

</div> -->

</div>

<script type="text/babel">

var Menu = React.createClass({

mover : function() {

this.setState({

open : true

});

},

mout : function() {

this.setState({

open : false

});

},

getInitialState : function() {

return {

open : false

}

},

render : function() {

return (

<div className="menu">

<button onMouseOver={this.mover} onMouseOut={this.mout}>

{this.props.menuData.name}

</button>

<ul className="sub-menu" block" : "none"}}>

{this.props.menuData.arr.map((el, index) => {

return (<div key={index}>{el}</div>)

})}

</ul>

</div>)

}

});

var Menus = React.createClass({

render : function() {

return (<div className="menus">

{this.props.data.map((el ,index)=>{

return (<Menu key={index} menuData={el}/>)

})}

</div>);

}

});

var data = [

{

name : "menuName",

arr : [

"menu1",

"menu2",

"menu3",

"menu4"

]

},

{

name : "menuName1111",

arr : [

"menu-1",

"menu-2",

"menu-3",

"menu-4"

]

}

];

ReactDOM.render(<Menus data={data} />, document.getElementById("example"));

</script>

</body>

</html>