代码之家  ›  专栏  ›  技术社区  ›  AltBrian

React错误行18:Style prop值必须是object React/Style prop对象

  •  -1
  • AltBrian  · 技术社区  · 6 年前

    我正在尝试将文本环绕图像,如果我使用以下代码:

    <div className="container">
             <img src={myImageSource} alt="swimmer" height="300" width="300" style="float: left" />
             <p> This is where the other text goes about the swimmer</p>
     </div>
    

    style="float: left" 是html 5。但是,如果我使用以下代码:

    <div className="container">
             <img src={myImageSource} alt="swimmer" height="300" width="300" align="left" />
                <p> This is where the other text goes about the swimmer</p>
     </div>
    

    3 回复  |  直到 4 年前
        1
  •  33
  •   Shivam Gupta    6 年前

    style={{float: 'left'}}

        2
  •  14
  •   Akrion    6 年前

    问题是你作为一个 String 而不是 Object . React希望您以对象表示法传递样式:

    style={{ float:`left` }}  // Object literal notation
    

    const divStyle = {
      margin: '40px',
      border: '5px solid pink'
    };
    
    <div style={divStyle}>   // Passing style as an object
    

    看到了吗 documentation for more info

        3
  •  5
  •   Michael Freidgeim    4 年前

    style={{'align-self':'flex-end'}} 
    

    您可能会看到一条警告“不支持的样式属性自对齐”。你的意思是“alignSelf?”,但是样式被正确地复制到生成的html中 align-self: flex-end; .

        4
  •  3
  •   Arup Rakshit    6 年前

    doc :

    这个 风格 骆驼壳地产( style={{float: 'left'}} 而不是一个 CSS字符串( style="float: left" . 这与DOM风格的JavaScript属性一致,效率更高

    所以你应该这样写:

    <img src={myImageSource} alt="swimmer" height="300" width="300" style={{float: 'left'}} />
    
        5
  •  0
  •   Two Pheat    4 年前

    在style类和值之前和之后添加'。

        6
  •  -1
  •   Arghya Sadhu Dharmesh    4 年前

    您可以在react中编写内联样式 style={{float: 'left'}}

    const imgStyle = {
      margin: '10px',
      border: '1px solid #ccc',
      float: 'left',
      height: '300px',
      width: '300px'
    };
    
    <div className="container">
             <img src={imgStyle} alt="swimmer" />
             <p> This is where the other text goes about the swimmer</p>
     </div>
    
        7
  •  -1
  •   Suraj Rao Aditya Agrawal    4 年前
    <div className="container">
       <img src={myImageSource} alt="swimmer" height="300" width="300" **style={{align:'left'}}** />
       <p> This is where the other text goes about the swimmer</p>
     </div>