diff options
Diffstat (limited to 'node_modules/react-dom/lib/ReactFiberReconciler.js')
-rw-r--r-- | node_modules/react-dom/lib/ReactFiberReconciler.js | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/node_modules/react-dom/lib/ReactFiberReconciler.js b/node_modules/react-dom/lib/ReactFiberReconciler.js new file mode 100644 index 000000000..3a655d91a --- /dev/null +++ b/node_modules/react-dom/lib/ReactFiberReconciler.js @@ -0,0 +1,64 @@ +/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */ + +'use strict'; + +var _require = require('./ReactFiberRoot'), + createFiberRoot = _require.createFiberRoot; + +var ReactFiberScheduler = require('./ReactFiberScheduler'); + +module.exports = function (config) { + var _ReactFiberScheduler = ReactFiberScheduler(config), + scheduleWork = _ReactFiberScheduler.scheduleWork, + performWithPriority = _ReactFiberScheduler.performWithPriority; + + return { + mountContainer: function (element, containerInfo) { + var root = createFiberRoot(containerInfo); + var container = root.current; + // TODO: Use pending work/state instead of props. + // TODO: This should not override the pendingWorkPriority if there is + // higher priority work in the subtree. + container.pendingProps = element; + + scheduleWork(root); + + // It may seem strange that we don't return the root here, but that will + // allow us to have containers that are in the middle of the tree instead + // of being roots. + return container; + }, + updateContainer: function (element, container) { + // TODO: If this is a nested container, this won't be the root. + var root = container.stateNode; + // TODO: Use pending work/state instead of props. + root.current.pendingProps = element; + + scheduleWork(root); + }, + unmountContainer: function (container) { + // TODO: If this is a nested container, this won't be the root. + var root = container.stateNode; + // TODO: Use pending work/state instead of props. + root.current.pendingProps = []; + + scheduleWork(root); + }, + + + performWithPriority: performWithPriority, + + getPublicRootInstance: function (container) { + return null; + } + }; +};
\ No newline at end of file |