如何解决在反应中动态检索图像?
我在弄清楚如何在 react 中动态导入图像时遇到了一些问题。经过一番研究,我了解到需要 require() 函数,所以这是我迄今为止尝试过的:
<img src={require(`../../assets/${companyName}.png`)}></img>
但我的网页仍然生成空白图像。在这方面我可以收到任何指导或提示吗?我正在使用 create-react-app 构建作为参考。非常感谢!
解决方法
您似乎要将图像导入为:
import 'dart:io';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
enum FlashStatus {
auto,on,off,}
final flashStatusProvider = StateProvider((ref) => FlashStatus.auto);
class FlashScreen extends StatefulWidget {
@override
_FlashScreenState createState() => _FlashScreenState();
}
class _FlashScreenState extends State<FlashScreen> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: ToolBar(),);
}
}
class ToolBar extends StatelessWidget with PreferredSizeWidget {
@override
final Size preferredSize;
ToolBar({
Key key,}) : preferredSize = Size.fromHeight(50.0),super(key: key);
IconData get flashIconAuto =>
Platform.isAndroid ? Icons.flash_auto : CupertinoIcons.bolt_badge_a;
IconData get flashIconOn =>
Platform.isAndroid ? Icons.flash_on : CupertinoIcons.bolt_fill;
IconData get flashIconOff =>
Platform.isAndroid ? Icons.flash_off : CupertinoIcons.bolt_slash;
@override
Widget build(BuildContext context) {
return AppBar(
automaticallyImplyLeading: false,backgroundColor: Colors.transparent,leading: Consumer(builder: (context,ScopedReader watch,child) {
final status = watch(flashStatusProvider);
print(status.state);
switch (status.state) {
case FlashStatus.on:
return IconButton(
icon: Icon(flashIconOff),tooltip: 'Turn off camera flash',onPressed: () =>
context.read(flashStatusProvider).state = FlashStatus.off,);
break;
case FlashStatus.off:
return IconButton(
icon: Icon(flashIconOn),tooltip: 'Turn on camera flash',onPressed: () =>
context.read(flashStatusProvider).state = FlashStatus.on);
break;
default:
return IconButton(
icon: Icon(flashIconOn),onPressed: () =>
context.read(flashStatusProvider).state = FlashStatus.on);
}
}),);
}
}
尝试像这样添加它:
import companyName from '../../assets/companyName.png'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。