fireship-io / next-firebase-course

Next.js + Firebase - The Full Course
next-firebase-course-git-main.fireship.vercel.app
477 stars 217 forks source link

react-hook-form v7 #22

Closed Pitchnogle closed 2 years ago

Pitchnogle commented 2 years ago

I am at the part in the series where I am attempting to edit a post. I have run into an issue where clicking the 'Edit Post` button is causing a crash.

I see the error

Unhandled Runtime Error
TypeError: path.split is not a function
Call Stack
get
node_modules/react-hook-form/dist/index.esm.mjs (33:0)
register
node_modules/react-hook-form/dist/index.esm.mjs (1900:0)
commitAttachRef
node_modules/react-dom/cjs/react-dom.development.js (23645:0)
commitLayoutEffectOnFiber
node_modules/react-dom/cjs/react-dom.development.js (23503:0)
commitLayoutMountEffects_complete
node_modules/react-dom/cjs/react-dom.development.js (24688:0)
commitLayoutEffects_begin
node_modules/react-dom/cjs/react-dom.development.js (24674:0)
commitLayoutEffects
node_modules/react-dom/cjs/react-dom.development.js (24612:0)
commitRootImpl
node_modules/react-dom/cjs/react-dom.development.js (26823:0)
commitRoot
node_modules/react-dom/cjs/react-dom.development.js (26682:0)
finishConcurrentRender
node_modules/react-dom/cjs/react-dom.development.js (25981:0)
performConcurrentWorkOnRoot
node_modules/react-dom/cjs/react-dom.development.js (25809:0)
workLoop
node_modules/scheduler/cjs/scheduler.development.js (266:0)
flushWork
node_modules/scheduler/cjs/scheduler.development.js (239:0)
MessagePort.performWorkUntilDeadline
node_modules/scheduler/cjs/scheduler.development.js (533:0)

This seems to related to version 7 of react-hook-form?

I have changed the <input> in the PostForm from

<input
  className={styles.checkbox}
  name="published"
  type="checkbox"
  ref={register}
/>

to

<input
  className={styles.checkbox}
  name="published"
  type="checkbox"
  {...register("published", { required: true })}
/>

This still gives the same error though afterward. My dependencies are:

"dependencies": {
  "firebase": "^9.9.4",
  "lodash.debounce": "^4.0.8",
  "lodash.kebabcase": "^4.1.1",
  "next": "^12.3.0",
  "react": "^18.2.0",
  "react-dom": "^18.2.0",
  "react-firebase-hooks": "^5.0.3",
  "react-hook-form": "^7.35.0",
  "react-hot-toast": "^2.3.0",
  "react-markdown": "^8.0.3"
}
Pitchnogle commented 2 years ago

I was able to solve this. Turns out I missed the ref= in the