反应显示中的 Toastify 通知不止一次

问题描述

我正在构建一个包含几个组件的 React 应用程序,其中至少有一半我正在使用 React-notify 并且它几乎在所有组件中都能正常工作,但是一个 React-toastify 通知在同一页面中显示不止一次(三次)。我不知道为什么会发生这种情况我认为它渲染了 3 倍的页面,但我不知道为什么

 const ProductList = (props) => {
    const [value,setValue] = React.useState(0);
  
    const handleChange = (event,newValue) => {
      setValue(newValue);
    };

    var language=props.selectedlan.selectedlan;
    var json = language === LAN_EN?jsonEN.projectPage:jsonGR.projectPage;
   
    return (
      <Page
        title="Team"
      >                     
        <Container maxWidth={false}>
              <Toaster  position="top-center"   reverseOrder={true}/>

          <Box mt={3} >
            <Grid
              container
              spacing={3}
              className={stylesMain.titleProductCardIndex}
            >
              <Grid
                  item
                  lg={4}
                  md={6}
                  xs={12}
                >
....
        <Teams    
        />
         < br />
        </Container>
      </Page>
    );
};

const mapStateToProps = state => {

  const language=state.selectedlan;
  const json = language === LAN_EN?jsonEN.projectPage:jsonGR.projectPage;
  const { search } = window.location;
  const remove = (new URLSearchParams(search)).get('remove');
  const changeData = (new URLSearchParams(search)).get('changeData');
  const uploadData = (new URLSearchParams(search)).get('uploadData');
  const removeProject = (new URLSearchParams(search)).get('removeProject');
  const createProject = (new URLSearchParams(search)).get('createProject');
  const deleteSt = (new URLSearchParams(search)).get('deleteSt');
  const reject = (new URLSearchParams(search)).get('reject');
  const accept = (new URLSearchParams(search)).get('accept');
  if (createProject === '1') {
    toast.success(json.toolbar.value10,{
      duration: 10000,});
  }

  return { loginsession: state.loginsession,selectedlan: state.selectedlan };
};

export default connect(
  mapStateToProps,)(ProductList);

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)