Hello World
++ You can open{" "} + + /docs + {" "} + and see the documentation. +
++ You can open{" "} + + /examples + {" "} + and see the examples. +
++ You can open{" "} + + /docs + {" "} + and see the documentation. +
++ You can open{" "} + + /examples + {" "} + and see the examples. +
++ Get access to the full source code for pro examples by subscribing + to BlockNote Pro +
++ Or{" "} + {" "} + via GitHub +
+ )} */} +`, `
+ The `useCreateBlockNote` hook is actually a simple `useMemo` wrapper around + the `BlockNoteEditor.create` method. You can use this method directly if you + want to control the editor lifecycle manually. For example, we do this in + the [Saving & Loading example](/examples/backend/saving-loading) to delay + the editor creation until some content has been fetched from an external + data source. +
++ Note that the `BlockNoteView` component is an [uncontrolled component](https://react.dev/learn/sharing-state-between-components#controlled-and-uncontrolled-components). + This means you don't pass in the editor content directly as a prop. You can use the `initialContent` option in the `useCreateBlockNote` hook to set the initial content of the editor (similar to the `defaultValue` prop in a regular React `
++ BlockNote handles the complexities and performance optimizations of managing editor state internally. You can interact with the editor content using the [Editor API](/docs/editor-api). +
++ Are you using Next.js (`create-next-app`)? Because BlockNote is a + client-only component, make sure to disable server-side rendering of + BlockNote. [Read our guide on setting up Next.js + BlockNote](/docs/nextjs) +
++ It's also possible to use BlockNote without React, using "vanilla" + JavaScript or other frameworks. [Read our guide on using BlockNote without + React](/docs/vanilla-js){" "} +
+