javascript - 如何在反应打字稿应用程序中修复“500 TypeError:无法读取属性'split' of null”
问题描述
我正在尝试解决此错误:
我在挠头,因为第 60 行没有拆分语句:
Line 60: @import 'vars';
我看到的唯一拆分语句是:
const components = product.pid.split(URL_COMPONENT_SEPARATOR).filter((x) => x !== product.productId);
在 ProductCard.tsx 的第 26 行。这可能是什么原因?
解决方案
这可能是由于第一次渲染组件pid
时未初始化产品上的字段。ProductCard
这通常是由于您的后端提供的数据不完整,或者因为您的组件在网络请求之前或期间呈现以获取您的组件的数据(即在这种情况下product
)
考虑为您提供的代码提供一种防御方法来解决此问题,如下所示:
const components = typeof product.pid === 'string' ? product.pid.split(URL_COMPONENT_SEPARATOR).filter((x) => x !== product.productId) : [];
推荐阅读
- javascript - Google Drive & Spreadsheets API:获取用户的电子邮件地址
- java - 使用 HTTPS 运行 Grails 3 独立 jar/war
- c++ - 字节到位运算符重载 C++
- xpath - 骆驼路线上的问题 - 解析 XML 标签
- ruby-on-rails - 如何引用嵌套在模块内的模型?
- kubernetes - Pod 镜像更新和重启容器保持相同的 IP 问题
- docker - Docker 从第一个 ADD 重建图像
- python - 如何使用 Python 的 cffi 和枚举数组
- ruby-on-rails - Bunder 正在安装 rubygems 依赖项而不是 gem 目录中的版本
- c++ - 在 cygwin 中测试新的 boost 安装时出现 cpp 错误