Búsqueda de sitios web

javascript - usar useEffect para responder al cambio de estado de Redux


Necesito algo que se ejecute cada vez que una prop cambie. Con las clases de React, podría hacer:

componentDidUpdate(prevProps) {
  if (prevProps.x !== this.props.x) {
    // do something
  }
}

Sé que en los hooks debería ser useEffect con un arreglo de dependencias:

useEffect(() => {
  // do something
}, [props.x])

Pero necesito hacer algo fuera del alcance de useEffect.

En mi caso, necesito que una función dentro de un onChange se ejecute solo cuando el estado de Redux haya cambiado:

const Editor: React.FC = () => {
  const { options } = useSelector((state: RootState) => state.settings)

  <CodeMirror
    onChange={(editor, data, value) => {
    // I need to do something only when prev state is different
    if (prevOptions !== options) {
      editor.refresh()
    }
  />

No puedo averiguar cómo hacer esto, aparte de posiblemente establecer una bandera fuera del componente de función cuando ocurre un cambio y volver a configurarla manualmente.