1# ArkUI子系统LocalStorage类接口ChangeLog
2
3## cl.LocalStorage.1 get接口返回类型变更
4
5**变更影响**
6
7返回类型从get<T>(propName: string): T变更为get<T>(propName: string): T | undefined
8应用不需要进行适配。
9
10## cl.LocalStorage.2 setOrCreate参数newValue变成必选
11**变更影响**
12
13原接口声明:
14```js
15setOrCreate<T>(propName: string, newValue?: T): boolean
16```
17现接口声明:
18```js
19setOrCreate<T>(propName: string, newValue: T): boolean
20```
21第二个参数newValue变为必选。
22如果应用调用这个接口没有指定newValue参数,在替换新的sdk后会编译不过,需要手动指定newValue。
23
24**适配指导**
25
26```js
27let storage = new LocalStorage();
28storage.setOrCreate('propA', 'hello');
29```
30## cl.LocalStorage.3 link参数和返回类型变更
31**变更影响**
32
33原接口声明:
34```js
35link<T>(propName: string, linkUser?: T, subscribersName?: string): T
36```
37现接口声明:
38```js
39link<T>(propName: string): SubscribedAbstractProperty<T>
40```
411. link第二三个参数为框架内部调用,不应对外开发,所以将接口变更为一个参数;
422. 返回类型T变更为SubscribedAbstractProperty;
43
44**适配指导**
45
46```js
47let storage = new LocalStorage({"PropA": "47"});
48let linA = storage.link("PropA");
49linA.set(50);
50```
51
52## cl.LocalStorage.4 setAndLink参数和返回类型变更
53**变更影响**
54
55原接口声明:
56```js
57setAndLink<T>(propName: string, defaultValue: T, linkUser?: T, subscribersName?: string): T
58```
59现接口声明:
60```js
61setAndLink<T>(propName: string, defaultValue: T): SubscribedAbstractProperty<T>
62```
631. setAndLink第三四个参数为框架内部调用,不应对外开发,所以将接口变更为2个参数;
642. 返回类型T变更为SubscribedAbstractProperty;
65
66**适配指导**
67
68```js
69let storage = new LocalStorage({"PropA": "47"});
70let linA = storage.setAndLink("PropA", "48")
71linA.set(50);
72```
73
74## cl.LocalStorage.5 prop参数和返回类型变更
75**变更影响**
76
77原接口声明:
78```js
79prop<T>(propName: string, propUser?: T, subscribersName?: string): T
80```
81现接口声明:
82```js
83prop<S>(propName: string): SubscribedAbstractProperty<S>
84```
851. prop第二三个参数为框架内部调用,不应对外开发,所以将接口变更为1个参数;
862. 返回类型T变更为SubscribedAbstractProperty;
87
88**适配指导**
89
90```js
91let storage = new LocalStorage({"PropA": "47"});
92let propA = storage.prop("PropA");
93propA.set(51); // one-way sync
94```
95
96## cl.LocalStorage.6 setAndProp参数和返回类型变更
97**变更影响**
98
99原接口声明:
100```js
101setAndProp<T>(propName: string, defaultValue: T, propUser?: T, subscribersName?: string): T
102```
103现接口声明:
104```js
105setAndProp<S>(propName: string, defaultValue: S): SubscribedAbstractProperty<S>
106```
1071. setAndProp第三四个参数为框架内部调用,不应对外开发,所以将接口变更为2个参数;
1082. 返回类型T变更为SubscribedAbstractProperty;
109
110**适配指导**
111
112```js
113let storage = new LocalStorage({"PropA": "47"});
114let propA = storage.setAndProp("PropA", "48");
115propA.set(51); // one-way sync
116```