REACT_react列表展示实现

在这里插入图片描述

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <title>列表展示</title>
    <link rel="stylesheet" type="text/css" href="css/common.css">
    <link rel="stylesheet" href="font/iconfont.css">
    <script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
    <script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
    <script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
<body>
<!--页面容器-->
  <div class="index-content" id="my"></div>

  <script type="text/babel">
    window.onload = function(){
     
     
        class App extends React.Component{
     
     
            render () {
     
     
                return (
                    <div>
                        <Category />
                    </div>
                );
            }
        };
        class Category extends React.Component{
     
     
            constructor() {
     
     
                super();
                this.state = {
     
     
                    lists:[
                        {
     
     title:'在线咨询1',icon:'icon-shenghuo',color:'#f60'},
                        {
     
     title:'在线咨询2',icon:'icon-shenghuo',color:'#49dacf'},
                        {
     
     title:'在线咨询3',icon:'icon-jiaoyu',color:'#fa6900'},
                        {
     
     title:'在线咨询4',icon:'icon-shenghuo',color:'#49dacf'},
                        {
     
     title:'在线咨询5',icon:'icon-jiajujiafang',color:'#f60'},
                        {
     
     title:'在线咨询6',icon:'icon-shenghuo',color:'#49dacf'},
                        {
     
     title:'在线咨询7',icon:'icon-11',color:'#f00'}
                    ]
                };
            };
            render () {
     
     
                let {
     
     lists} = this.state;
                var _list = lists.map((item,i)=>{
     
     
                    return (
                        <div className="category" key={
     
     i}>
                            <i className={
     
     [`iconfont ${
       
       item.icon}`]} style={
     
     {
     
     background:item.color}}></i>
                            <label>{
     
     item.title}</label>
                        </div>
                    )
                })
                return (
                    <div className="index-category">
                        {
     
     _list}
                    </div>
                );
            }
        };

        ReactDOM.render(
            <App />,
            document.getElementById("my")
        )
    }
  </script>
</body>
</html>

注意添加样式名处理,需要使用中括号包裹

{
    
    [`iconfont ${
      
      item.icon}`]}

猜你喜欢

转载自blog.csdn.net/weixin_44599931/article/details/107538388