Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React inline style-style prop需要从样式属性到值的映射,而不是字符串_Javascript_Css_Reactjs - Fatal编程技术网

Javascript React inline style-style prop需要从样式属性到值的映射,而不是字符串

Javascript React inline style-style prop需要从样式属性到值的映射,而不是字符串,javascript,css,reactjs,Javascript,Css,Reactjs,我正在尝试在React应用程序中设置内联样式。在这种情况下,对于跨度: <span className="myClass" style={{float : 'left', paddingRight : '5px'}} > </span> React告诉我: 未捕获不变冲突:样式属性要求从 将特性样式设置为值,而不是字符串。例如 style={{marginRight:spacing+'em'}当使用JSX时。这个DOM节点 是由`语句视图'呈现的 我不太清楚这是什么

我正在尝试在React应用程序中设置内联样式。在这种情况下,对于跨度:

<span className="myClass" style={{float : 'left', paddingRight : '5px'}} > </span>

React告诉我:

未捕获不变冲突:
样式
属性要求从 将特性样式设置为值,而不是字符串。例如 style={{marginRight:spacing+'em'}当使用JSX时。这个DOM节点 是由`语句视图'呈现的

我不太清楚这是什么意思

PS:我尝试了不同的版本,所以我做了
paddingRight:5
以及
paddingRight:5+'px'
以及
paddingRight:5px
,但没有成功

使用“styles”道具代替style

<span className="myClass" style={{float : 'left', paddingRight : '5px'}} > </span>

这是定义和使用带有react的内联样式的方法

/**
 * Style definitions.
 */
const STYLE = {
    infoColor: {
        color: 'green'
    },
    warningColor: {
        color: 'orange'
    },
    errorColor: {
        color: 'red'
    }
};

/**
 * Component
 */
class Welcome extends React.Component {

    /**
     * Rendering into the DOM.
     */
    render() {
        return (
            <div>
                <h2 style={STYLE.infoColor}>Welcome!</h2>
        )
    }
}
/**
*样式定义。
*/
常量样式={
infoColor:{
颜色:“绿色”
},
警告颜色:{
颜色:“橙色”
},
错误颜色:{
颜色:“红色”
}
};
/**
*组成部分
*/
类欢迎扩展React.Component{
/**
*渲染到DOM中。
*/
render(){
返回(
欢迎
)
}
}

有一些方法可以设置React组件的样式

  • 使用
    style={css\u object}
    style={{color:this.props.color}

  • 使用
    className=“您的类名”

  • 反应回复

    1样式对象
    //
    常量样式={
    颜色:“红色”,
    背景:“0f0”,
    字体大小:“32px”
    };
    常量BTN=(道具)=>{
    返回(
    我的名字是{props.name}
    
    我{props.age}岁了! ); }; 常量信息={ 名称:“xgqfrms”, 年龄:23 }; render(,mountNode); // 常量样式={ 颜色:“红色”, 背景:“0f0”, 字体大小:“32px” }; 常量BTN=(道具)=>{ 返回( 我的名字是{props.name}
    我{props.age}岁了! ); }; 常量信息={ 名称:“xgqfrms”, 年龄:23 }; render(,mountNode)
    不要用双引号或字符串来包装{{},JSX和HTML是不同的。见:

    在HTML中是

    
    
    在JSX中,您可以编写

    <div style={{ backgroundColor: 'red' }}></div>
    
    
    

    有条件的内联格式在这两个方面都是不同的。

    JSX和html是不同的东西,我们在JSX中添加内联css的语法有点不同。我建议浏览整个文档,以便更好地理解

    styles不是有效的jsx属性……这是如何实现的?同意上面的评论,尝试了styles,但它不起作用,但如果我这样做,“style”就起作用了。不确定为什么选择此选项作为答案“styles不是有效的jsx属性”,与me@mohsinulhaq你在使用CSS模块吗?如果是这样,那么您需要
    className={myStyles}
    ,而不是
    style={myStyles}
    。CSS模块会自动将你的样式对象转换成一个类名字符串。我将其标记为删除,因为它真的没有什么用处,而我是根据别人对这篇文章的引用来这里的,这绝对是错误的。很惊讶看到这个帖子有更高的投票率。谢谢你的回答。它使用了我最熟悉的React类模型,因为我使用的是create-React-app。图形是你自己制作的吗?如果没有,请分享你的来源!这些图形来自我的课程:斯蒂芬·格林德