标签: conditional-rendering

如何在JSX中使用switch case:ReactJS

我在我的反应应用程序中导入了四个组件.我如何有条件地渲染其中一个组件(基于道具).这就是我想要做的

<ReactSVGPanZoom
      //switch(this.props.Selected){
      // case '1': render <ComponentOne/>; break;
      // case '2': render <ComponentTwo/>; break;
      // case '3': render <ComponentThree/>; break;
      // case '4': render <ComponentFour/>; break;
      // default: render <ComponentOne/>
        }
</ReactSVGPanZoom>
Run Code Online (Sandbox Code Playgroud)

switch-statement reactjs conditional-rendering

6
推荐指数
3
解决办法
4090
查看次数

使用不同 props 条件渲染同一组件不会在 ReactJS 中卸载该组件

我正在开发一个反应Web应用程序,我遇到的问题是我正在使用不同的道具对同一组件进行条件渲染,但不会卸载它然后再次重新安装它,这意味着该组件的安装周期永远不会再次运行,组件将不再被初始化

menu === 1 ?
   <SidebarChat dataList={chats} title="Chats" />
: menu === 2 ?
   <SidebarChat dataList={rooms} title="Rooms" />
: menu === 3 ?
   <SidebarChat dataList={users} title="Chats" />
: null
Run Code Online (Sandbox Code Playgroud)

这是代码,我希望 SidebarChat 在菜单更改时卸载而不是安装。

这是 SidebarChat 代码

import React, { useEffect, useState } from 'react';
import { Avatar, IconButton } from '@material-ui/core';
import { Add } from '@material-ui/icons';
import './SidebarChat.css';
import db from './firebase';
import { Link } from 'react-router-dom';



function SidebarChat({ dataList, title }) {
    const [messages, setMessages] = useState([]);

    const …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs conditional-rendering

6
推荐指数
1
解决办法
1703
查看次数

p:列呈现属性似乎不适用于p:dataTable var

我写了一个代码:

<p:column headerText="Edit" width="40" rendered="#{(leaveDetails.strLeaveStatus == 'Canceled') or (leaveDetails.strLeaveStatus == 'Availed')}">
    <p:commandLink actionListener="#{userLeaveBean.editAppliedLeave}" title="Edit" disabled="true" process="@this" update="leaveDataTable" immediate="false">
        <h:graphicImage url="resources/images/edit.JPG"/>
            <f:attribute name="userId" value="#{employee.name}"/>
            <f:attribute name="editFirstHalf" value="#{leaveDetails.strStartTiming}"/>
            <f:attribute name="editSecondHalf" value="#{leaveDetails.strEndTiming}"/>
            <f:attribute name="editFrom" value="#{leaveDetails.dtLeaveFromDate}"/>
            <f:attribute name="editTo" value="#{leaveDetails.dtLeaveToDate}"/>
            <f:attribute name="leaveId" value="#{leaveDetails.strLeaveId}"/>
    </p:commandLink>
</p:column>
Run Code Online (Sandbox Code Playgroud)

但渲染的属性不适用于该条件.如何使用逻辑运算符使条件有效?使用PrimeFaces 3.4.2

datatable jsf primefaces tablecolumn conditional-rendering

4
推荐指数
2
解决办法
7817
查看次数

Vue.js 中基于复选框输入的条件渲染

我正在尝试根据 Vue 中的用户输入有条件地呈现表单元素,但进展并不顺利。我知道如何使用 VanillaJS 或 jQuery 做到这一点,但我正在努力将这些知识转化为使用 Vue 的内置条件指令。我正在使用带有 vue-cli 的 webpack 模板的单文件组件。

从我的<template>

<form autocomplete="off" name="loadDeets" id="loadDeets" class="loadDeets">
    <div class="form-group row">
       <label>Date</label>
       <flat-pickr v-model="date"
              :config="{dateFormat: 'l, F j'}"
                class="form-control" 
                placeholder="Select date"               
                name="date"></flat-pickr>
    </div>

    <div class="row">
        <div class="form-group col left">
           <label>Time</label>
           <flat-pickr v-model="time"
                :config="config"
                class="form-control" 
                placeholder="Select time"               
                name="time1"></flat-pickr>
        </div>

        <div class="form-group col right">
            <label>Time</label>
            <flat-pickr
                :config="config"
                class="form-control" 
                placeholder="Select time"               
                name="time2" v-show="document.getElementById('apptCheck').checked"></flat-pickr>
        </div>
    </div>

    <div class="form-check">
        <input class="form-check-input" type="checkbox" id="apptCheck">
        <label class="form-check-label" for="apptCheck">
           Appointment?
        </label>
    </div>
 </form>
Run Code Online (Sandbox Code Playgroud)

这完全破坏了页面的组件呈现。因此,我尝试使用基于 Vue …

javascript vue.js conditional-rendering

4
推荐指数
1
解决办法
2959
查看次数

Preact/typeScript 条件渲染“预期表达式”

你好,我想做的是一个简单的条件渲染,我之前在 react 中做过,但我似乎无法在 preact 中做到。

 export const InfoSection = (props: Props) => 
    {
        return (
            <div>
                <table>
                    <tr>
                        <th>#</th>
                        <th>User</th>
                        <th>Info</th>
                        <th>date</th>
                    </tr>
                    {
                        props.infoEntries.map( (l, i) => 
                        {
                            return (
                                <tr>
                                    <td>{i+1}</td>
                                    <td{l.UserId}</td>
                                    <td>{l.Info}</td>
                                    <td>{l.Date}</td>
                                </tr>
                            )
                        })
                    }
                    {
                        if(this.props.showEntryDetails){
                            return(
                        <tr>
                          <td>"Hello"</td>
                        </tr>
                    )
                        }
                    }
                </table>
            </div>
        )
    }
Run Code Online (Sandbox Code Playgroud)

正如你在底部看到的,我只是尝试在 showEntryDetails 上使用 if,但在这里我收到一个错误,说“预期表达”我认为这是一个打字稿错误,但我不知道为什么它不会让我在那里有一个 if。谁能向我解释为什么以及是否有办法做我想做的事?

typescript conditional-rendering preact

4
推荐指数
1
解决办法
1644
查看次数

条件渲染不显示-ReactJS

我有一个注销按钮,仅在用户登录后才显示。

我已经为此目的创建了一个函数,并将该函数包括在react的返回部分中,但是它不起作用。

这是功能:

const ifloggedin = () => {
    if (!localStorage.hasOwnProperty('token')) {
      return null
} else {
return <li><a href="#contact" className="Contact" onClick={logout} to={"/"}>Log Out</a></li>
}
  }
Run Code Online (Sandbox Code Playgroud)

这就是我试图渲染它的方式:

        <div className="content">
          <li><a href="#hiw" className="Hiw" to={"/about"}>HOW IT WORKS</a></li>
          <li><a href="#pricing" className="Price" to={"/pricing"}>PRICING</a></li>
          <li><Link className="Faq" to={"/Faq"}>FAQ</Link></li>
          <li><a href="#contact" className="Contact" to={"/contact"}>CONTACT</a></li>
          {ifloggedin}
        </div>
Run Code Online (Sandbox Code Playgroud)

javascript reactjs conditional-rendering

4
推荐指数
1
解决办法
97
查看次数

React中如何根据屏幕宽度进行条件渲染?

有一个问题,我不知道如何在技术上正确地实现该组件。我想根据设备屏幕对元素进行条件渲染。示例:如果屏幕小于 700 px,则我得出一个结论,如果大于,则得出第二个结论

if(window.innerWidth > 700) {
   return(
    <Content>
       1 
    </Content>)
};
return (
<Content>
       2
</Content>)
Run Code Online (Sandbox Code Playgroud)

我使用react、next js和typeScript技术

这个怎么做?

reactjs conditional-rendering responsive

4
推荐指数
1
解决办法
1万
查看次数

如何在 JSF 中构建“编辑”按钮并在 h:outputText 和 h:inputText 之间切换

如何创建“编辑”按钮,以便在单击该按钮时将 更改h:outputTexth:inputText

jsf edit conditional-rendering

3
推荐指数
1
解决办法
5337
查看次数

我可以在 React 中使用多个布尔值进行条件渲染吗?

我想在 React 组件中执行以下操作:

<div>
    {this.props.isOpen && this.state.isReady && <div> Hello! </div>}
</div>
Run Code Online (Sandbox Code Playgroud)

是否可以在 React 中使用多个布尔值来条件渲染组件?这可能会向用户呈现布尔值吗?

components reactjs conditional-rendering

3
推荐指数
1
解决办法
8732
查看次数

如何渲染包含打开且未关闭标签的组件?React.js

我的目标是制作一个组件,用嵌套的 ul 标签渲染卡片,如下所示: 需要的 从这样的数据中,它是通过父组件的 props 传递下来的: 数据

为此,我在嵌套 ul 应该开始的行的末尾设置了标记,例如,当嵌套 ul 应该打开时为“:”,以及“.”。嵌套 ul 应该何时关闭。但为了使这段代码正常工作,我需要渲染打开的标签,但不渲染关闭的标签

let inUl = false;
<div className="cardBody">
        {props.body.map((el, index) => {
          if(el.endsWith(":")){
            inUl = true;
            return <li>{el}<ul>
          } else if(inUl && el.endsWith('.')){
            inUl = false;
            return <li>{el}</li></ul>
          } else {
            return <li>{el}</li>
          }
        })}
  </div>
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激,我的截止日期很近,现在我实际上陷入了项目的最后一部分 - 这。

html javascript reactjs conditional-rendering

3
推荐指数
1
解决办法
4391
查看次数