1/* 2 * Copyright (c) 2025 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16import { memo, __memo_context_type, __memo_id_type } from '@ohos.arkui.stateManagement' // should be insert by ui-plugins 17import { Entry, Text, TextAttribute, Column, Component, Button, ButtonAttribute, ClickEvent, UserView } from '@ohos.arkui.component' // TextAttribute should be insert by ui-plugins 18import { State, MutableState, stateOf, observableProxy } from '@ohos.arkui.stateManagement' // should be insert by ui-plugins 19import hilog from '@ohos.hilog' 20 21@Entry 22@Component 23struct MyStateSample { 24 @State stateVar: string = 'state var'; 25 message: string = 'var'; 26 changeValue() { 27 this.stateVar+='~' 28 } 29 build() { 30 Column(undefined) { 31 Text('Hello World').fontSize(20) 32 Button(this.message).backgroundColor('#3fc199') 33 .onClick((e: ClickEvent) => { 34 hilog.info(0x0000, 'testTag', 'On Click'); 35 this.changeValue(); 36 }) 37 Text(this.stateVar).fontSize(20) 38 Child({stateVar: this.stateVar} as __Options_Child) 39 } 40 } 41} 42 43@Component 44struct Child { 45 @State stateVar: string = 'Child'; 46 build() { 47 Text(this.stateVar).fontSize(50) 48 } 49} 50