为了账号安全,请及时绑定邮箱和手机立即绑定

react行内style样式添加的问题

react行内style样式添加的问题

POPMUISE 2019-03-14 14:14:52
问题:react里style={}里放入一个对象为什么样式没生效?代码:loadCssFunc = ()=>{    return {        color:'red',        fontSize:12    }}//render()<div style={this.loadCssFunc}></div>是不是不可以用这种写法
查看完整描述

3 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

补充:可以用,但大家一般情况下不会这么用哦。

除非你需要在执行完一个方法后,给样式加一个动态的值。比如当你执行完这个方法之后把fontSize改变:


loadCssFunc = (fontSize)=>{

    return {

        color:'red',

        fontSize: fontSize

    }

}

—————————————————————————————————————————————————


style本身就不是个方法,loadCssFunc是个方法,执行了才返回对象


loadCssFunc = ()=>{

    return {

        color:'red',

        fontSize:12

    }

}


//render()


<div style={this.loadCssFunc()}></div>

或者


<div style={{color:'red',fontSize:12}}></div>


查看完整回答
反对 回复 2019-03-28
?
FFIVE

TA贡献1797条经验 获得超6个赞

补充:可以用。

除非你有这样的需求,当执行完一个方法后需要给样式添加动态的值,比如:


loadCssFunc = (fontSize)=>{

    return {

        color:'red',

        fontSize: fontSize

    }

}

——————————————————————————————————————————


style接收的是对象,你生成对象的方法得去执行才行。一般不使用执行方法去返回样式,普遍写法是这样:


render(){

    const style = {

        color: 'red',

        fontSize: 12

    }

    return(

        <div style={style}></div>

    )

}

or


<div style={{color: 'red', fontSize: 12}}></div>


查看完整回答
反对 回复 2019-03-28
?
温温酱

TA贡献1752条经验 获得超4个赞

const loadCssFunc = {

        color:'red',

        fontSize:12

    }


//render()


<div style={loadCssFunc}></div>


查看完整回答
反对 回复 2019-03-28
  • 3 回答
  • 0 关注
  • 3470 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信