A React component is provided that allows you to programmatically generate codesandbox projects from code samples on the fly.
npm install @uiw/react-codesandbox --save
import React from 'react';
import CodeSandbox from '@uiw/react-codesandbox';
const code = `import React from 'react';
import ReactDOM from 'react-dom';
const App = (
<h1>
Hello, {formatName(user)}!
</h1>
);
ReactDOM.render(
<App />,
document.getElementById('root')
);`;
function Demo() {
return (
<CodeSandbox
files={{
"package.json": {
content: {
dependencies: {
react: "latest",
"react-dom": "latest"
}
}
},
"index.js": {
content: code
},
"index.html": {
content: `<div id="root"></div>`
}
}}
>
Open in CodeSandbox
</CodeSandbox>
)
}
type CodeSandboxProps = React.FormHTMLAttributes<HTMLFormElement> & {
/**
* Whether we should redirect to the embed instead of the editor.
*/
embed?: boolean;
/**
* The query that will be used in the redirect url. `embed` must be equal to `true`, `embed=true`.
* [CodeSandbox Embed Options](https://codesandbox.io/docs/embedding#embed-options)
* @example `view=preview&runonclick=1`
*/
query?: string;
/**
* Instead of redirecting we will send a JSON reponse with `{"sandbox_id": sandboxId}`.
*/
json?: boolean;
/**
* Parameters used to define how the sandbox should be created.
*/
files?: Record<string, {
content?: string | Record<string, any>;
isBinary?: boolean;
}>
};
Runs the project in development mode.
# Step 1, run first, listen to the component compile and output the .js file
# listen for compilation output type .d.ts file
npm run watch
# Step 2, development mode, listen to compile preview website instance
npm run start
production
Builds the app for production to the build folder.
npm run build
The build is minified and the filenames include the hashes. Your app is ready to be deployed!
As always, thanks to our amazing contributors!
Made with github-action-contributors.
Licensed under the MIT License.