diff --git a/packages/example/src/TestUi2.ts b/packages/example/src/TestUi2.ts index 52d4d16..d2d2e62 100644 --- a/packages/example/src/TestUi2.ts +++ b/packages/example/src/TestUi2.ts @@ -1,9 +1,11 @@ import { Control } from "godot" +import { Renderer } from "react-godot-renderer" +import { TestUi2Component } from "./TestUi2Component" export default class TestUi2 extends Control { // Called when the node enters the scene tree for the first time. _ready(): void { - + Renderer.renderComponent(this, TestUi2Component) } } diff --git a/packages/example/src/TestUi2Component.tsx b/packages/example/src/TestUi2Component.tsx new file mode 100644 index 0000000..b4ae992 --- /dev/null +++ b/packages/example/src/TestUi2Component.tsx @@ -0,0 +1,33 @@ +import Godot from "godot" +import { useState } from "react" +import { Component } from "react-godot-renderer" + + +const HFlowContainer = Component.make(Godot.HFlowContainer) +const VFlowContainer = Component.make(Godot.VFlowContainer) +const Label = Component.make(Godot.Label) +const CheckBox = Component.make(Godot.CheckBox) + +export function TestUi2Component() { + const [show, setShow] = useState(false) + + const checkBoxRef = CheckBox.useRef() + Component.useSignal(checkBoxRef, "toggled", setShow) + + + return ( + + + + + {show && + + ) +} diff --git a/packages/react-godot-renderer/src/Reconciler.ts b/packages/react-godot-renderer/src/Reconciler.ts index f0a5f69..c96312e 100644 --- a/packages/react-godot-renderer/src/Reconciler.ts +++ b/packages/react-godot-renderer/src/Reconciler.ts @@ -160,9 +160,9 @@ export const make = () => { // getInstanceFromScope(_scopeInstance) { // throw new Error("Function not implemented.") // }, - // detachDeletedInstance(_node) { - // throw new Error("Function not implemented.") - // }, + detachDeletedInstance(node) { + node.queue_free() + }, // supportsHydration: false, // NotPendingTransition: undefined,