react-jsbox
Advanced tools
Comparing version 1.0.4 to 1.0.5
{ | ||
"name": "react-jsbox", | ||
"version": "1.0.4", | ||
"version": "1.0.5", | ||
"description": "A custom React renderer for writing JSBox apps in React.", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -12,3 +12,3 @@ import {useEffect, useState} from 'react' | ||
}) | ||
useEffect(() => $cache.set(key, state)) | ||
useEffect(() => void $cache.set(key, state)) | ||
@@ -15,0 +15,0 @@ return [state, setState] |
import view from './components/view' | ||
import { now, filterProps } from './helper' | ||
import {now, filterProps} from './helper' | ||
@@ -13,2 +13,8 @@ const NO_CONTEXT = true | ||
scheduleTimeout: setTimeout, | ||
cancelTimeout: clearTimeout, | ||
noTimeout: -1, | ||
supportsMutation: true, | ||
@@ -20,3 +26,5 @@ | ||
getPublicInstance({ element }) { | ||
isPrimaryRenderer: true, | ||
getPublicInstance({element}) { | ||
return element | ||
@@ -115,4 +123,11 @@ }, | ||
instance.element.hidden = false | ||
}, | ||
hideTextInstance(instance) { | ||
// noop | ||
}, | ||
unhideTextInstance(instance, props) { | ||
// noop | ||
} | ||
} |
import ReactFiberReconciler from 'react-reconciler' | ||
import hostConfig from './hostconfig' | ||
const JSBoxRenderer = ReactFiberReconciler(hostConfig) | ||
const reconciler = ReactFiberReconciler(hostConfig) | ||
export default function render(element, container, callback) { | ||
const isConcurrent = true | ||
const hydrate = false | ||
const defaultOptions = { | ||
onInit: () => {}, | ||
onRender: () => {} | ||
} | ||
export default function render(element, container, options) { | ||
const rendererOptions = Object.assign({}, defaultOptions, options) | ||
let fiberRoot = container._reactRootContainer | ||
if (!fiberRoot) { | ||
container.views.forEach(view => view.remove()) | ||
const newFiberRoot = JSBoxRenderer.createContainer(container) | ||
const newFiberRoot = reconciler.createContainer(container, isConcurrent, hydrate) | ||
// eslint-disable-next-line | ||
fiberRoot = container._reactRootContainer = newFiberRoot | ||
} | ||
return JSBoxRenderer.updateContainer(element, fiberRoot, null, callback) | ||
rendererOptions.onInit(reconciler) | ||
return reconciler.updateContainer(element, fiberRoot, null, rendererOptions.onRender) | ||
} |
Sorry, the diff of this file is too big to display
105438
615