Summary: X-link: https://github.com/facebook/react-native/pull/46800 Pull Request resolved: https://github.com/facebook/yoga/pull/1716 Had a mini heart attack thinking I set the default to content box. Wrote this to double check and it passed. Might as well check it in Technically the default to BoxSizing.h is ContentBox, but in the style we override that. Regardless I switched that around so border box was the default. Changelog: [Internal] Reviewed By: NickGerleman Differential Revision: D63802722 fbshipit-source-id: 49ed29657c964bc12a2bf70988061ab4599267ec
yoga-layout
This package provides prebuilt WebAssembly bindings for the Yoga layout engine.
See more at https://yogalayout.dev
Usage
import {Yoga, Align} from 'yoga-layout';
const node = Yoga.Node.create();
node.setAlignContent(Align.Center);
Objects created by Yoga.<>.create()
are not automatically garbage collected and should be freed once they are no longer in use.
// Free a config
config.free();
// Free a tree of Nodes
node.freeRecursive();
// Free a single Node
node.free();
Requirements
yoga-layout
requires a toolchain that supports ES Modules and top-level await.
If top-level-await is not supported, use the yoga-layout/load
entry point instead. This requires to load yoga manually:
import {loadYoga, Align} from 'yoga-layout/load';
const node = (await loadYoga).Node.create();
node.setAlignContent(Align.Center);