UNPKG

raonkeditor-react

Version:

React component for RAON K Editor

54 lines (46 loc) 1.22 kB
import * as React from 'react'; import Sidebar from './Sidebar'; import RaonkEditor from './RaonkEditor'; const { version, useRef, useState } = React; function App() { const [ events, setEvents ] = useState( [] ); const [ uniqueName, setUniqueName ] = useState( getUniqueName() ); const start = useRef( new Date() ); const handleRemountClick = () => { setUniqueName( getUniqueName() ); }; const pushEvent = ( evtName, componentName ) => { setEvents( events => events.concat( { evtName, componentName: componentName, date: new Date() } ) ); }; return ( <div> <section className="container"> <Sidebar events={events} start={start.current} /> <div className="paper flex-grow-3"> <RaonkEditor key={uniqueName} pushEvent={pushEvent} uniqueName={uniqueName} /> <button className="btn" onClick={handleRemountClick}> {'Re-mount component'} </button> </div> </section> <footer>{`Running React v${ version }`}</footer> </div> ); } function getUniqueName() { return Math.random() .toString( 36 ) .replace( /[^a-z]+/g, '' ) .substr( 0, 5 ); } export default App;