MCPcopy Create free account
hub / github.com/microsoft/SandDance / useBoolean

Function useBoolean

docs/app/js/sanddance-app.js:34554–34584  ·  view source on GitHub ↗
(initialState)

Source from the content-addressed store, hash-verified

34552var _react = require("react");
34553var _useConst = require("./useConst");
34554function useBoolean(initialState) {
34555 var _a = _react.useState(initialState), value = _a[0], setValue = _a[1];
34556 // Storing the value in a ref is redundant but allows the `toggle` callback to have a
34557 // constant identity, which overall is probably better for consumers' perf.
34558 var valueRef = _react.useRef(value);
34559 var setTrue = (0, _useConst.useConst)(function() {
34560 return function() {
34561 setValue(true);
34562 valueRef.current = true;
34563 };
34564 });
34565 var setFalse = (0, _useConst.useConst)(function() {
34566 return function() {
34567 setValue(false);
34568 valueRef.current = false;
34569 };
34570 });
34571 var toggle = (0, _useConst.useConst)(function() {
34572 return function() {
34573 return valueRef.current ? setFalse() : setTrue();
34574 };
34575 });
34576 return [
34577 value,
34578 {
34579 setTrue: setTrue,
34580 setFalse: setFalse,
34581 toggle: toggle
34582 }
34583 ];
34584}
34585
34586},{"react":"8ePka","./useConst":"jDC9C","@parcel/transformer-js/src/esmodule-helpers.js":"jA2du"}],"gh9LV":[function(require,module,exports) {
34587var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected