首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将此If/if non语句转换为非if语句?

如何将此If/if non语句转换为非if语句?
EN

Stack Overflow用户
提问于 2022-10-07 09:43:01
回答 2查看 30关注 0票数 0

所以我有这些if语句,我需要将它们转换为不使用开关情况/如果是其他语句,这是一个react应用程序。

代码语言:javascript
复制
{data.map((val, key) => {
            if (val.kg) {
              return (
                <div className="cardproductlist" key={key}>
                  <div className="valuescontainercheckbox pt-4 ml-3">
                    <input
                      class="delete-checkbox"
                      type="checkbox"
                      value={val.sku}
                      id={val.sku}
                      onChange={handleCheck}
                    />
                  </div>
                  <div className="valuescontainer">
                    <span> {val.name}</span>
                  </div>
                  <div className="valuescontainer">
                    <span> {val.price}$</span>
                  </div>
                  <div className="valuescontainer">
                    <span>{val.sku}</span>
                  </div>
                  <div className="valuescontainer">
                    <span className="pb-5">
                      <span>Weight: {val.kg} KG</span>
                    </span>
                  </div>
                </div>
              );
            } else if (val.mb) {
              return (
                <div className="cardproductlist" key={key}>
                  <div className="valuescontainercheckbox pt-4 ml-3">
                    <input
                      class="delete-checkbox"
                      type="checkbox"
                      value={val.sku}
                      id={val.sku}
                      onChange={handleCheck}
                    />
                  </div>
                  <div className="valuescontainer">
                    <span> {val.name}</span>
                  </div>
                  <div className="valuescontainer">
                    <span> {val.price}$</span>
                  </div>
                  <div className="valuescontainer">
                    <span>{val.sku}</span>
                  </div>
                  <div className="valuescontainer">
                    <span className="pb-5">
                      <span>Size: {val.mb} MB</span>
                    </span>
                  </div>
                </div>
              );
            } else if (val.length) {
              return (
                <div className="cardproductlist" key={key}>
                  <div className="valuescontainercheckbox pt-4 ml-3">
                    <input
                      class="delete-checkbox"
                      type="checkbox"
                      value={val.sku}
                      id={val.sku}
                      onChange={handleCheck}
                    />
                  </div>
                  <div className="valuescontainer">
                    <span> {val.name}</span>
                  </div>
                  <div className="valuescontainer">
                    <span> {val.price}$</span>
                  </div>
                  <div className="valuescontainer">
                    <span>{val.sku}</span>
                  </div>
                  <div className="valuescontainer">
                    <span className="pb-5">
                      <span>
                        Dimensions: {val.length}x{val.width}x{val.height}
                      </span>
                    </span>
                  </div>
                </div>
              );
            } else {
              return (
                <div className="cardproductlist" key={key}>
                  <div className="valuescontainercheckbox pt-4 ml-3">
                    <input
                      class="delete-checkbox"
                      type="checkbox"
                      value={val.sku}
                      id={val.sku}
                      onChange={handleCheck}
                    />
                  </div>
                  <div className="valuescontainer">
                    <span> {val.name}</span>
                  </div>
                  <div className="valuescontainer">
                    <span> {val.price}$</span>
                  </div>
                  <div className="valuescontainer pb-5">
                    <span>{val.sku}</span>
                  </div>
                </div>
              );
            }
          })}
        </div>
EN

回答 2

Stack Overflow用户

发布于 2022-10-07 10:07:46

我不知道它是否是条件呈现的最佳实践,但是枚举可以用于它。

代码语言:javascript
复制
const elementStates = {
  kg: <YourKgElement />,
  mb: <YourMbElement />,
  default: <DefaultElement />
};

function YourElement({state}) {
  return <div>{elementStates[state]}</div>
}
票数 0
EN

Stack Overflow用户

发布于 2022-10-07 13:06:05

我已经找到了一种方法,不用使用巨大的,如果是其他的块,这是目前的工作,

代码语言:javascript
复制
                    {val.kg ? <div>Weight: {val.kg} KG</div> : ''}
                    {val.mb ? <div>Size: {val.mb} MB</div> : ''}
                    {val.length ? (
                      <div>
                        Dimensions: {val.length}x{val.height}x{val.width}
                      </div>
                    ) : ''}
                  </span>```
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73985280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档