使用require.context未在React JS中显示图像

穆罕默德·扎因·埃贾兹(Muhammad Zain Ejaz)

我试图寻找答案,但没有任何解决方法。正如您在代码中看到的那样,我正在使用require.context加载图像,但未加载。在以前的react js版本中,它曾经可以完美地工作。现在我正在使用React版本17.0.1。控制台中没有错误。如果导入图像并在src中使用它,则效果很好。我也试图用以前项目中使用的一些以前的图像来更改图像(使用React 16.xx版),这些图像在这里工作得很好。我正在使用npx-create-react-app创建反应应用程序。映像路径是正确的,如路径不正确“发生名为xxx的模块未找到错误”。当前行为:未显示图像,而是显示了alt值。预期的行为:应显示图片,而不显示alt值。

import React, { Component } from "react";
import commonStyles from "../css/common.module.css";
import loginStyles from "../css/login.module.css";
import { TextField, Button, Paper, Typography } from "@material-ui/core";

class Login extends Component {
  state = {
    userName: "",
    password: "",
    error: "",
  };
  render() {
    const images = require.context("../images", true);
    return (
      <div
        className={`${loginStyles.root} d-flex justify-content-center align-items-center ${commonStyles.bg}`}
      >
        <Paper
          classes={{
            root: `${commonStyles.paper} mt-2`,
          }}
          elevation={3}
        >
          <div className={`${loginStyles.child}`}>
            <div className={`d-flex justify-content-center align-items-center`}>
              <img
                src={images(`./Shahmeer.png`)}
                alt={`Shahmeer Avenue Logo`}
                width="100"
                height="100"
              />
            </div>
            <Typography
              classes={{
                root: `font-weight-bold`,
              }}
              variant="h5"
              gutterBottom
            >
              Login
            </Typography>
            <form noValidate autoComplete="off">
              <TextField
                classes={{
                  root: `${commonStyles.textField}`,
                }}
                onChange={(e) => this.handleChange(e)}
                id={"userName"}
                label={"User Name"}
                variant="outlined"
                error={this.state.error ? true : false}
                helperText={this.state.error}
                value={this.state["userName"]}
              />
              <TextField
                classes={{
                  root: `${commonStyles.textField}`,
                }}
                onChange={(e) => this.handleChange(e)}
                id={"password"}
                label={"Password"}
                variant="outlined"
                error={this.state.error ? true : false}
                helperText={this.state.error}
                value={this.state["password"]}
              />
              <div className={`w-100 d-flex justify-content-end mt-2`}>
                <Button variant="contained" color="primary">
                  Login
                </Button>
              </div>
            </form>
          </div>
        </Paper>
      </div>
    );
  }
}

export default Login;

浏览器快照:在此处输入图像描述

礼节

您应该将default属性用于图像:

 <img
   src={images(`./Shahmeer.png`).default}
   alt={`Shahmeer Avenue Logo`}
   width="100"
   height="100"
 />

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

导入的图像未在React中显示

来自分类Dev

无法在React中的require()中使用变量

来自分类Dev

使用require()时React.JS不渲染图像和/或视频

来自分类Dev

图像未在ipython中显示

来自分类Dev

图像未在Django中显示

来自分类Dev

图像未在Codeigniter中显示

来自分类Dev

图像未在视野中显示

来自分类Dev

如何使用JS显示数据库中的图像

来自分类Dev

如何使用Angular Js在Div中显示图像

来自分类Dev

使用com.sun.net.httpserver,为什么图像未在Java生成的html页面中显示?

来自分类Dev

使用React钩子在React js中预览上传的图像

来自分类Dev

如何使用react require语法?

来自分类Dev

如何使用React JS在Grid JS中显示行索引

来自分类Dev

如何使用React JS在Grid JS中显示行索引

来自分类Dev

Rails:Gravatar图像未在Chrome中显示

来自分类Dev

SVG图像元素未在Safari中显示

来自分类Dev

图像未在输入字段中显示

来自分类Dev

Flickr图像未在Colorbox模式中显示

来自分类Dev

PHP生成的图像未在WebView中显示

来自分类Dev

图像未在C#WPF中显示

来自分类Dev

图像未在Django 1.8中显示

来自分类Dev

图像未在Django Admin中显示

来自分类Dev

图像未在模拟器中显示

来自分类Dev

绝对居中的图像未在Firefox中显示

来自分类Dev

SVG图像未在Firefox中显示

来自分类Dev

图像未在Form2中显示

来自分类Dev

图像未在Django LFS中显示

来自分类Dev

背景图像未在Div中显示

来自分类Dev

图像未在angular2中显示