jsx语法二

/**
 * jsx 数据循环
 * 01.直接将数组解构输出
 * 02.循环遍历输出
 *
 */
// const arr=[<p>1</p>,<p>2</p>,<p>3</p>]
const arr=[
  {
    id:1,
    name:'jsx',
    age:100
  },
  {
    id:2,
    name:'jsx2',
    age:200
  }
]

function App() {
  const ret=arr.map(item=>{
    return(
      <li key={item.id}>/*这里添加key可以优化渲染*/
        <span>{JSON.stringify(item)}</span>
      </li>
    )
  })
  return <ul>{ret}</ul>

}

export default App;
//index.js
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import {StyleRoot} from 'radium';

ReactDOM.render(
  <StyleRoot><App/></StyleRoot>,
  document.getElementById('root')
);
import Radium from "radium"
/**
 * jsx 样式处理
 * 01.内联样式
 *    a.设置行内样式时需要将样式键值对放入 {}
 *    b.内联样式默认不支持伪类与媒体查询样式设置,需引入第三方包radium可以使内联样式支持
 *    c.将需要支持伪类的组件用Radium包裹
 *    d.在indexjs中将需要支持媒体查询的组件标签用<StyleRoot></StyleRoot>包裹
 *    e.通过样式数组控制样式
 * 02.外联样式
 */

// const styleObj={
//   width:100,
//   height:200,
//   backgroundColor:'green',
//   ':hover':{backgroundColor:'skyblue'},
//   '@media(max-width:1000px)':{width:300}
// }

const ButtonStyle={
  base:{
    width:150,
    height:40,
    fontSize:20,
    background:'red'
  },
  login:{
    background:'green'
  },
  logOut:{
    background:'orange'
  }
}

const isLogin=false

function App() {
  return (
    <div>
      <button style={[
        ButtonStyle.base,
        isLogin ? ButtonStyle.login : ButtonStyle.logOut
      ]}>按钮</button>
    </div>
  )

  // return <div  style={styleObj}>行内样式</div>
  // return <div style={{width:'200px}}>行内样式</div>
}

export default Radium(App);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值