代码之家  ›  专栏  ›  技术社区  ›  Davtho1983

数据网格变异后不更新

  •  0
  • Davtho1983  · 技术社区  · 6 年前

    我在React中有一个DataGrid组件,上面显示了它的顶部。DataGrid在useContext上下文中的状态属性上有条件地显示。

    {accountContext.accountState.data.accounts ? (
                    <DataGrid
                      headCells={headCells}
                      rows={accountContext.accountState.data.accounts}
                      title="Related Accounts"
                      pageSizes={[2, 5, 10]}
                      actions={[
                        {
                          title: "user",
                          onGridRowActionClick: row => {
                            deactivateUser(row)
                          ...
    

      const deactivateUser = (row) => {
        console.log("ROW-=-=-=-=-=-=-=-=-=-=", row.id, row.isActive)
        setRowSelected(row.id)
          updateAccount({
            variables: {
              account: {
                id: row.id,
                isActive: !row.isActive
              }
            }
    

    useMemo钩子在数据库中注册更改,并调用reducer函数来更新上下文中的状态。

    useMemo(() => {
        console.log("ROW CHANGED!!!!!")
        if (accountContext.accountState.data.accounts) {
          accountContext.accountDispatch({type: SET_IS_ACTIVE, payload: rowSelected})
        }
      }, [updateAccountData])
              })
            }
    

    DataGrid不更新!上下文状态中的新数据未映射到DataGrid表的行。映射行的函数实际上被传递到数据被映射的子组件,但是如何让子组件在props中注册更改呢?我觉得它应该已经做到了?

    0 回复  |  直到 6 年前