组件重新渲染会覆盖graphql信息

时间:2019-11-29 07:51:18

标签: reactjs graphql render

我在某些URL路径上渲染组件。每个组件都会渲染多次,但是此组件存在错误。当我从graphql获取信息时,我想呈现该组件,但有时很少,在从graphql获取信息后,react重新渲染组件后,该信息就会被覆盖。 因此,一瞬间,该组件就会显示出来,然后,由于重新渲染,它消失了。 如果有人可以帮助您解决此问题,请

    import companyEmployeeListQuery from 'graphql/companyEmployeeList.graphql'
    const { data: employeeData, loading: employeeDataLoading, refetch } = useQuery(companyEmployeeListQuery, {
  variables: {
    companyID: localStorage.getItem('companyId')
  },
  fetchPolicy: 'no-cache'
})
useEffect(() => {
  if(employeeData){
    console.log("EmployeeData:", employeeData)
    setEmployeeDataFiltered(employeeData)
  }
  }, [employeeData])
return (
    <React.Fragment>
      {
        employeeData && 
    <React.Fragment>
      <Container>
      <Header>
        {/* <RootDirection>Userpanel > Settings</RootDirection> */}
        <Wrapper>
          <H1>Settings </H1>
        </Wrapper>
        <SettingsTabs>
          <SeetingsTabItem
            onClick={() => setTabSwitcher('users')}
            activeTab={tabSwitcher === 'users'}
          >
            {' '}
            Users
          </SeetingsTabItem>
        </SettingsTabs>
        <UserTabContent seltab={tabSwitcher}>
          <Search
            word={word}
            setWord={setWord}
            setAddUsersModal={setAddUsersModal}
            triggerSearch = {triggerSearch}
          />
          <Users
            addUsersModal={addUsersModal}
            setAddUsersModal={setAddUsersModal}
            employeeData = {employeeDataFiltered}
          />
        </UserTabContent>
      </Header>
    </Container>
    </React.Fragment>
      }
      </React.Fragment>
  )

0 个答案:

没有答案