我必须在一个屏幕上添加新产品以及编辑现有产品。所以我通过分配初始值来使用 didchangedependency 方法来更新屏幕,代码中出现了问题。请帮助我。所以错误是

错误显示在这里:
@override
void didChangeDependencies() {
if (_isinit) {
final productId = ModalRoute.of(context)!.settings.arguments as String;
// ignore: unnecessary_null_comparison
if (productId != null) {
_editedproduct =
Provider.of<Products>(context, listen: false).FindByID(productId);
_imageUrlController.text = _editedproduct.imageUrl;
_initValues = {
'title': _editedproduct.title,
'description': _editedproduct.description,
'Price': _editedproduct.price.toString(),
// 'imageUrl': _editedproduct.imageUrl,
'imageUrl': '',
};
}
}
_isinit = false;
super.didChangeDependencies();
}
Run Code Online (Sandbox Code Playgroud)
在更改依赖项方法中,我尝试从一页获取参数,即产品 ID,但它显示为空。这是我已推送到编辑屏幕产品页面的屏幕截图,其中包含我试图获取此参数的参数。

这是为了推送添加产品页面

import 'dart:html';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:shoppingapp/Providers/Product.dart';
import 'package:shoppingapp/Providers/Products.dart';
class EditProductScreen extends StatefulWidget {
static const routeName = '/edit-products';
@override
_EditProductScreenState …Run Code Online (Sandbox Code Playgroud)