React Usage | MakeCode Embed

This documentation is best viewed on the documentation site rather than GitHub or NPM package site.

Blocks rendering

Use MakeCodeRenderBlocksProvider and MakeCodeBlocksRendering React components to render MakeCode blocks for a MakeCode project. Example MakeCode projects used for the demo are defined in fixtures.ts.

import {
MakeCodeRenderBlocksProvider,
MakeCodeBlocksRendering,
} from '@microbit/makecode-embed/react';

<MakeCodeRenderBlocksProvider>
<MakeCodeBlocksRendering code={project} />
</MakeCodeRenderBlocksProvider>;

The provider manages a hidden, embedded MakeCode. If you have more than one code embed then place the provider at a suitable location. You can use the disabled prop to avoid loading MakeCode if you know it's not needed.

For more examples, take a look at the MakeCode blocks rendering demo source code.

Embed MakeCode editor

Use MakeCodeFrame component to embed MakeCode.

import { MakeCodeFrame } from '@microbit/makecode-embed/react';

<MakeCodeFrame
ref={ref}
controller={1}
controllerId="YOUR APP NAME HERE"
initialProjects={[savedProject]}
onEditorContentLoaded={(e) => console.log("MakeCode is now ready")},
onWorkspaceSave={(e) => {
// Set project as project changes in the editor.
setSavedProject(e.project);
}}
/>;

For more examples, take a look at the MakeCode frame demo source code.