documentation-site/pages/blog/introducing-react-view/live-editor.jsx (34 lines of code) (raw):
/*
Copyright (c) Uber Technologies, Inc.
This source code is licensed under the MIT license found in the
LICENSE file in the root directory of this source tree.
*/
//
import * as React from "react";
import { useView, Compiler, Error } from "react-view";
import Editor from "../../../components/yard/editor";
/* eslint-disable */
import presetTypescript from "@babel/preset-typescript";
function LiveEditor({ initialCode }) {
const params = useView({
initialCode,
scope: {},
onUpdate: console.log,
});
return (
<React.Fragment>
<div
style={{
marginBottom: "8px",
fontFamily: `system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif`,
}}
>
<Compiler {...params.compilerProps} presets={[presetTypescript]} />
</div>
<Editor {...params.editorProps} language="tsx" />
<Error {...params.errorProps} />
</React.Fragment>
);
}
/* eslint-enable */
export default LiveEditor;