Fix effects

alpha/blocketchat
Tasso Evangelista 6 years ago
parent e052bf44a9
commit 43c543e1f8
  1. 10
      client/components/admin/settings/GroupState.js
  2. 8
      client/components/admin/settings/SectionState.js
  3. 8
      client/components/admin/settings/SettingsState.js

@ -1,6 +1,6 @@
import { Meteor } from 'meteor/meteor';
import { TAPi18n } from 'meteor/rocketchat:tap-i18n';
import React, { createContext, useCallback, useContext, useMemo, useRef } from 'react';
import React, { createContext, useCallback, useContext, useEffect, useMemo, useRef } from 'react';
import toastr from 'toastr';
import { handleError } from '../../../../app/utils/client/lib/handleError';
@ -26,9 +26,11 @@ export function GroupState({ groupId }) {
const persistedStateRef = useRef();
const hydrateRef = useRef();
settingsRef.current = settings;
persistedStateRef.current = persistedState;
hydrateRef.current = hydrate;
useEffect(() => {
settingsRef.current = settings;
persistedStateRef.current = persistedState;
hydrateRef.current = hydrate;
});
const save = useCallback(async () => {
const { current: settings } = settingsRef;

@ -1,4 +1,4 @@
import React, { createContext, useCallback, useContext, useMemo, useRef } from 'react';
import React, { createContext, useCallback, useContext, useEffect, useMemo, useRef } from 'react';
import { useSettingsState } from './SettingsState';
import { useGroup } from './GroupState';
@ -20,8 +20,10 @@ export function SectionState({ children, section: name }) {
const settingsRef = useRef();
const persistedStateRef = useRef();
settingsRef.current = settings;
persistedStateRef.current = persistedState;
useEffect(() => {
settingsRef.current = settings;
persistedStateRef.current = persistedState;
});
const reset = useCallback(() => {
const { current: settings } = settingsRef;

@ -127,9 +127,11 @@ export function SettingsState({ children }) {
const updateAtCollectionRef = useRef();
const updateStateRef = useRef();
collectionRef.current = collection;
updateAtCollectionRef.current = updateAtCollection;
updateStateRef.current = updateState;
useEffect(() => {
collectionRef.current = collection;
updateAtCollectionRef.current = updateAtCollection;
updateStateRef.current = updateState;
});
const hydrate = useCallback((changes) => {
const { current: updateAtCollection } = updateAtCollectionRef;

Loading…
Cancel
Save