Skip to content

how to intergrate use-undo with useForm ?  #46

@vaynevayne

Description

@vaynevayne

bug : The following code, undo(), but the list will not be popped

const form = useForm({
    initialValues: initialValues,
  })

  const [countState, { set: setCount, reset: resetCount, undo, redo, canUndo, canRedo }] =
    useUndo(initialValues)

  const { present: presentCount, past, future } = countState

  useEffect(() => {
    setCount(form.values)
    console.log('form.values', form.values)
  }, [form.values])

  console.log('当前values', form.values)

  const onUndo = () => {
    if (!canUndo) return
    const nextState = past.at(-1)
    if (!nextState) return

    undo()
    console.log('onUndo', nextState)

    form.setValues(nextState)
  }
  console.log('past', past)

  console.log('future', future)

  const onRedo = () => {
    if (!canRedo) return
    const nextState = future.at(-1)
    if (!nextState) return
    redo()

    form.setValues(nextState)
  }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions