javascript - TypeScript/Styled 组件将图像作为 props 传递

标签 javascript css reactjs typescript styled-components

我下面有以下代码,旨在显示 屏幕上显示“NoBillsLaptopPNG.src”,但没有渲染任何图像。

图像导入正常,但不确定为什么图像没有显示。

import NoBillsMobilePNG from "../../public/assets/quotes/no-bills-mobile.png"
import NoBillsLaptopPNG from "../../public/assets/quotes/no-bills-laptop.png"

export const NoBillsSummary = () => {
  return <div>
    <TestImg
      NoBillsMobilePNG={NoBillsMobilePNG.src}
      NoBillsLaptopPNG={NoBillsLaptopPNG.src}
    ></TestImg>         
  </div>;
};

const TestImg = styled.img<{
  NoBillsMobilePNG: string;
  NoBillsLaptopPNG: string;
}>`
   // the reason the img is being passed in as props as media query will later be added to switch between images

   src: url(${(NoBillsLaptopPNG) => NoBillsLaptopPNG.src});

   width : 126.07px;
   height : 107.59px;
   margin-top: 2px;
`;

最佳答案

当您使用 TestImg 组件时,您将 src 作为 props 传递给 NoBillsLaptopPNG。

最好将 props 命名为 NoBillsLaptopPngSrc。

当您设置 TestImg 样式时,NoBillsLaptopPNG 输入参数已经是 src。因此,再次引用其 src 字段是没有意义的。

试试这个

 src: url(${(NoBillsLaptopPNG) => NoBillsLaptopPNG});

关于javascript - TypeScript/Styled 组件将图像作为 props 传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74053436/

相关文章:

javascript - 如何获取/设置表格中的滚动位置?

javascript - 以 React 方式在 HTML 中包装多个字符串

javascript - Jquery 克隆和更新按钮图标

javascript - ajax调用中的厄运金字塔

javascript - Blade 和 JavaScript - 如何从属性内的字符串中删除空格

html - 如何为不同的李设计风格

javascript - 如何在我的选择中从我的 json 中获取对象数据?

css - 没有背景颜色的 Bootstrap Hero 单元

javascript - 如何从另一个文件导入另一个文件?

javascript - 映射数组以返回具有不同类名的组件