React Usage

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

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.

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.