javascript - 如何在反应中自动检查变量是否存在?
问题描述
我有通过道具呈现变量的反应组件。
主.jsx
<div>
{props.name && <h1>{props.name}</h1>}
{props.id && <h1>{props.id}</h1>}
</div>
个人.jsx
<div>
{props.city && <h1>{props.city}</h1>}
{props.country && <h1>{props.country}</h1>}
</div>
相同的文件以不同的样式重复出现在多个外观中。
结构看起来像。
--Card-1
--main.jsx
--personal.jsx
--Card-2
--main.jsx
--personal.jsx
--Card-3
--main.jsx
--personal.jsx
--Card-4
--main.jsx
--personal.jsx
这在未来可能会增加。我想检查/自动化脚本以检查name and id
evary main.js中的退出city and country
并存在于每个 personal.jsx 文件中
解决方案
您可以像这样使用 bash 脚本:
#!/bin/bash
PERSONAL_COUNT=$(find . -name "personal.jsx" | wc -l)
CITY_COUNT=$(grep "props.city" **/personal.jsx | wc -l)
COUNTRY_COUNT=$(grep "props.country" **/personal.jsx | wc -l)
MAIN_COUNT=$(find . -name "main.jsx" | wc -l)
ID_COUNT=$(grep "props.id" **/main.jsx | wc -l)
NAME_COUNT=$(grep "props.name" **/main.jsx | wc -l)
[[ $MAIN_COUNT == $NAME_COUNT ]] && echo 'name: OK' || echo 'name: Too less name prop usage in main.jsx files' && exit 1
[[ $MAIN_COUNT == $ID_COUNT ]] && echo 'id: OK' || echo 'id: Too less name prop usage in main.jsx files' && exit 1
[[ $PERSONAL_COUNT == $CITY_COUNT ]] && echo 'city: OK' || echo 'city: Too less name prop usage in main.jsx files' && exit 1
[[ $PERSONAL_COUNT == $COUNTRY_COUNT ]] && echo 'country: OK' || echo 'country: Too less name prop usage in main.jsx files' && exit 1
推荐阅读
- boto3 - 使用 boto3 设置公共 IP 地址
- wix - Wix 安装程序在构建期间复制文件而不是安装
- r - 用 between() 循环
- bash - 用于运行 dotnet 命令行应用程序的 Bash 脚本将 ' 作为 cli 参数
- c# - Dapper 映射问题
- c# - .xmla 使用 C# 部署到 SQL
- python - Keras 双向 LSTM:传递了与 `cell.state_size 不兼容的初始状态`
- python - PXSSH 截断发送到远程服务器的命令
- excel - 通过字符串中的前几个字母进行条件格式[VBA]
- excel - 如何判断多个“IFS”条件是否为“TRUE”,而不仅仅是第一个匹配?