Skip to content

Commit 3c9ac28

Browse files
authored
Merge pull request #890 from thundersdata-frontend/rn-issue
删除 `react-native-redash`依赖
2 parents 5ca0d95 + fa5f995 commit 3c9ac28

File tree

20 files changed

+105
-62
lines changed

20 files changed

+105
-62
lines changed

.changeset/silver-queens-deny.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
'@td-design/react-native-calendar': patch
3+
'@td-design/react-native-picker': patch
4+
'@td-design/react-native-rating': patch
5+
'@td-design/react-native': patch
6+
---
7+
8+
删除 `react-native-redash`依赖
9+
优化`react-native-picker``onChange`事件的参数类型问题

.vscode/settings.json

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
{
22
"editor.defaultFormatter": "esbenp.prettier-vscode",
33
"editor.formatOnSave": true,
4-
"eslint.validate": ["javascript", "typescript", "json", "md"]
4+
"eslint.validate": [
5+
"javascript",
6+
"typescript",
7+
"json",
8+
"md"
9+
],
10+
"cSpell.words": [
11+
"dayjs"
12+
]
513
}

packages/react-native-calendar/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
"react-native-builder-bob": "^0.21.3",
3838
"react-native-gesture-handler": "^2.12.0",
3939
"react-native-reanimated": "^3.3.0",
40-
"react-native-redash": "^18.1.0",
4140
"react-native-svg": "^13.10.0",
4241
"typescript": "^5.1.6"
4342
},

packages/react-native-calendar/src/components/Agenda/useAgenda.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { useMemo } from 'react';
22
import { useAnimatedStyle, useDerivedValue, useSharedValue, withTiming } from 'react-native-reanimated';
3-
import { mix } from 'react-native-redash';
43

54
import { helpers } from '@td-design/react-native';
65
import { useMemoizedFn, useSafeState } from '@td-design/rn-hooks';
@@ -37,3 +36,8 @@ export default function useAgenda<ItemT extends Item>({ firstDay }: Pick<AgendaP
3736

3837
return { contentStyle, iconWrapStyle, expanded, handleMonthChange: useMemoizedFn(handleMonthChange) };
3938
}
39+
40+
const mix = (value: number, x: number, y: number) => {
41+
'worklet';
42+
return x * (1 - value) + y * value;
43+
};

packages/react-native-picker/src/picker/type.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export interface PickerProps<T> extends WheelPickerPropsBase {
88
/** 展示几列 */
99
cols?: number;
1010
value?: T[] | T;
11-
onChange?: ((value?: T) => void) | ((value?: T[]) => void);
11+
onChange?: (value?: T extends (infer U)[] ? U[] : T) => void;
1212
}
1313

1414
/** 弹窗Picker的属性 */
@@ -29,10 +29,6 @@ export interface ModalPickerProps {
2929
activeOpacity?: number;
3030
}
3131

32-
export type PickerRefProps<T> = {
33-
getValue: () => { value: T[] };
34-
};
35-
3632
export type CascaderProps<T> = Omit<PickerProps<T>, 'cascade' | 'value' | 'onChange'> & {
3733
/** 当前值 */
3834
value?: T[];

packages/react-native-picker/src/utils.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,20 +31,20 @@ export function transformValueToLabel<T>(
3131
function findByValue<T>(data: CascadePickerItemProps<T>[], value: T): CascadePickerItemProps<T> | undefined {
3232
let selectedItem: CascadePickerItemProps<T> | undefined = undefined;
3333

34-
function recurision(list: CascadePickerItemProps<T>[], value: T) {
34+
function recursion(list: CascadePickerItemProps<T>[], value: T) {
3535
if (!list) return;
3636
for (let i = 0; i < list.length; i++) {
3737
if (list[i].value === value) {
3838
selectedItem = list[i];
3939
break;
4040
}
4141
if (list[i].children) {
42-
recurision(list[i].children!, value);
42+
recursion(list[i].children!, value);
4343
}
4444
}
4545
}
4646

47-
recurision(data, value);
47+
recursion(data, value);
4848

4949
return selectedItem;
5050
}

packages/react-native-rating/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
"react-native-builder-bob": "^0.21.3",
3434
"react-native-gesture-handler": "^2.12.0",
3535
"react-native-reanimated": "^3.3.0",
36-
"react-native-redash": "^18.1.0",
3736
"react-native-svg": "^13.10.0",
3837
"typescript": "^5.1.6"
3938
},

packages/react-native-rating/src/components/Star.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import React, { FC } from 'react';
55
import { StyleSheet } from 'react-native';
66
import Animated, { runOnJS, useAnimatedStyle, useSharedValue, withSequence, withTiming } from 'react-native-reanimated';
7-
import { mix } from 'react-native-redash';
87

98
import { Pressable, Theme, useTheme } from '@td-design/react-native';
109

@@ -65,3 +64,8 @@ const Star: FC<StarProps> = ({
6564
};
6665

6766
export default Star;
67+
68+
const mix = (value: number, x: number, y: number) => {
69+
'worklet';
70+
return x * (1 - value) + y * value;
71+
};

packages/react-native/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
"react-native-builder-bob": "^0.21.3",
3333
"react-native-gesture-handler": "^2.12.0",
3434
"react-native-reanimated": "^3.3.0",
35-
"react-native-redash": "^18.1.0",
3635
"react-native-safe-area-context": "^4.7.1",
3736
"react-native-svg": "^13.10.0",
3837
"typescript": "^5.1.6"
@@ -54,4 +53,4 @@
5453
]
5554
]
5655
}
57-
}
56+
}

packages/react-native/src/carousel/Bullets.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import React, { memo } from 'react';
22
import { StyleSheet } from 'react-native';
33
import Animated from 'react-native-reanimated';
4-
import { mix, mixColor } from 'react-native-redash';
54

65
import { useTheme } from '@shopify/restyle';
76

87
import Box from '../box';
98
import { Theme } from '../theme';
9+
import { mix, mixColor } from '../utils/redash';
1010
import { CarouselProps } from './type';
1111

1212
const justifyContentMap = {

0 commit comments

Comments
 (0)