小编Bou*_*ine的帖子

使用不同 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
查看次数