public IEnumerator Hooks_GenerateChildWith_ButThrowError() { var listState = new UseState <List <string> >(); // <-- Not create a new list // A Component REcanvas MainReactorComponent() { return(new REcanvas { propsId = () => new REcanvas.IdSetter { id = "MainCanvas", }, useState = new IuseState[] { listState, }, childs = () => throw new Exception("Expected exception"), }); }
private REcanvas ConsoleView() { var addChildToConsole = new UseAddChilds(); var textAddedTrigger = new UseTrigger(); var deleteAllTrigger = new UseTrigger(); var copyTextTrigger = new UseTrigger(); string inputText = ""; REbase TextChild(string text) { string displayText = text; var editMode = new UseState <bool>(false); return(new REbox { propsRectTransform = () => new REbox.RectTransformSetter { height = 200, width = 800, }, childs = () => new REbase[] { new REpanelHorizontal { childs = () => { return new REbase[] { new REbox { propsRectTransform = () => new REbox.RectTransformSetter { width = 400, height = 200, }, useState = new IuseState[] { editMode, }, childs = () => { if (editMode.value) { return new REbase[] { new REinputField { propsInputField = () => new REinputField.InputFieldSetter { text = displayText, OnValueChangedListener = (v, s) => { displayText = v; } }, }, }; } else { return new REbase[] { new RElabel { propsText = () => new RElabel.TextSetter { text = displayText, }, }, }; } } }, new REbutton { propsText = () => { if (editMode.value) { return new REbutton.TextSetter { text = "Save" } } ; else { return new REbutton.TextSetter { text = "Edit" } }; }, propsButton = () => new REbutton.ButtonSetter { OnClickListener = (s) => { editMode.SetState(!editMode.value); } }, useState = new IuseState[] { editMode, }, }, new REbutton { propsText = () => new REbutton.TextSetter { text = "Copy", }, propsButton = () => new REbutton.ButtonSetter { OnClickListener = (s) => { inputText = displayText; copyTextTrigger.Trigger(); } }, }, new REbutton { propsText = () => new REbutton.TextSetter { text = "Delete", }, propsButton = () => new REbutton.ButtonSetter { OnClickListener = (s) => { Debug.Log(s.parent.parent.elementId.elementType + " r " + s.parent.parent.parent.childs.Length); s.parent.parent.Erase(); } }, }, }; } }, } });