react-vant-nova 1.1.6-test → 1.1.8-test

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of react-vant-nova might be problematic. Click here for more details.

@@ -7,6 +7,10 @@ import { lockClick } from './lock-click';
7
7
  import BaseToast from './Toast';
8
8
  import { render, unmount } from '../utils/dom/render';
9
9
  import canUseDom from '../utils/dom/canUseDom';
10
+ import { reactVersion } from '../utils/dom/version';
11
+ console.log('method.tsx loaded');
12
+ console.log('React version:', reactVersion);
13
+ console.log('canUseDom:', canUseDom());
10
14
  const defaultOptions = {
11
15
  message: '',
12
16
  className: '',
@@ -35,8 +39,13 @@ function nextTickClear() {
35
39
  }
36
40
  // 可返回用于销毁此弹窗的方法
37
41
  const ToastObj = p => {
38
- if (!canUseDom()) return null;
42
+ console.log('ToastObj called');
43
+ if (!canUseDom()) {
44
+ console.log('canUseDom returned false');
45
+ return null;
46
+ }
39
47
  const props = parseOptions(p);
48
+ console.log('props:', props);
40
49
  const update = {
41
50
  config: () => {},
42
51
  clear: () => null
@@ -48,16 +57,20 @@ const ToastObj = p => {
48
57
  } = props;
49
58
  const container = document.createElement('div');
50
59
  const bodyContainer = resolveContainer(teleport);
60
+ console.log('bodyContainer:', bodyContainer);
51
61
  bodyContainer.appendChild(container);
62
+ console.log('container added to bodyContainer');
52
63
  const TempToast = () => {
53
- console.log('TempToast');
64
+ console.log('TempToast component rendered');
54
65
  const options = Object.assign({
55
66
  duration: 2000
56
67
  }, props);
57
- const [visible, setVisible] = useState(false);
68
+ const [visible, setVisible] = useState(true); // 初始化为true,确保组件渲染时可见
58
69
  const [state, setState] = useState(Object.assign({}, options));
70
+ console.log('TempToast useState initialized, visible:', visible);
59
71
  // clearDOM after animation
60
72
  const internalOnClosed = useCallback(() => {
73
+ console.log('internalOnClosed called');
61
74
  if (state.forbidClick) {
62
75
  lockClick(false);
63
76
  }
@@ -72,17 +85,18 @@ const ToastObj = p => {
72
85
  }, [container]);
73
86
  // close with animation
74
87
  const destroy = useCallback(() => {
75
- console.log('destroy');
88
+ console.log('destroy called');
76
89
  setVisible(false);
77
90
  if (onClose) onClose();
78
91
  }, []);
79
92
  update.clear = internalOnClosed;
80
93
  update.config = useCallback(nextState => {
94
+ console.log('update.config called:', nextState);
81
95
  setState(prev => typeof nextState === 'function' ? Object.assign(Object.assign({}, prev), nextState(prev)) : Object.assign(Object.assign({}, prev), nextState));
82
96
  }, [setState]);
83
97
  useIsomorphicLayoutEffect(() => {
84
- console.log('useIsomorphicLayoutEffect');
85
- setVisible(true);
98
+ console.log('useIsomorphicLayoutEffect called');
99
+ // 移除setVisible(true),因为初始状态已经是true
86
100
  if (!allowMultiple) syncClear();
87
101
  toastArray.push(internalOnClosed);
88
102
  if (state.duration !== 0 && 'duration' in state) {
@@ -99,25 +113,20 @@ const ToastObj = p => {
99
113
  // @ts-ignore
100
114
  _jsx(BaseToast, Object.assign({}, state, {
101
115
  visible: visible,
102
- teleport: () => container,
116
+ // 移除teleport属性,避免嵌套的createPortal调用
103
117
  onClose: destroy,
104
118
  onClosed: internalOnClosed
105
119
  }))
106
120
  );
107
121
  };
122
+ console.log('Before render(<TempToast />)');
108
123
  // @ts-ignore
109
- console.log(_jsx(TempToast, {}), 'TempToast1');
110
- setTimeout(() => {
111
- // @ts-ignore
112
- render(_jsx(TempToast, {}), container);
113
- console.log('render(<TempToast />, container)');
114
- //@ts-ignore
115
- console.log(_jsx(TempToast, {}), 'TempToast2');
116
- console.log(container, 'container');
117
- return update;
118
- }, 300);
124
+ render(_jsx(TempToast, {}), container);
125
+ console.log('After render(<TempToast />)');
126
+ return update;
119
127
  };
120
128
  function parseOptions(message) {
129
+ console.log('parseOptions called:', message);
121
130
  if (isObject(message)) {
122
131
  return message;
123
132
  }
@@ -125,9 +134,12 @@ function parseOptions(message) {
125
134
  message
126
135
  };
127
136
  }
128
- const createMethod = type => options => ToastObj(Object.assign(Object.assign(Object.assign(Object.assign({}, currentOptions), defaultOptionsMap.get(type)), parseOptions(options)), {
129
- type
130
- }));
137
+ const createMethod = type => options => {
138
+ console.log('createMethod called:', type, options);
139
+ return ToastObj(Object.assign(Object.assign(Object.assign(Object.assign({}, currentOptions), defaultOptionsMap.get(type)), parseOptions(options)), {
140
+ type
141
+ }));
142
+ };
131
143
  ['info', 'loading', 'success', 'fail'].forEach(method => {
132
144
  ToastObj[method] = createMethod(method);
133
145
  });
@@ -25,8 +25,12 @@ var _lockClick = require("./lock-click");
25
25
  var _Toast = _interopRequireDefault(require("./Toast"));
26
26
  var _render = require("../utils/dom/render");
27
27
  var _canUseDom = _interopRequireDefault(require("../utils/dom/canUseDom"));
28
+ var _version = require("../utils/dom/version");
28
29
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
29
30
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
31
+ console.log('method.tsx loaded');
32
+ console.log('React version:', _version.reactVersion);
33
+ console.log('canUseDom:', (0, _canUseDom.default)());
30
34
  const defaultOptions = {
31
35
  message: '',
32
36
  className: '',
@@ -55,8 +59,13 @@ function nextTickClear() {
55
59
  }
56
60
  // 可返回用于销毁此弹窗的方法
57
61
  const ToastObj = p => {
58
- if (!(0, _canUseDom.default)()) return null;
62
+ console.log('ToastObj called');
63
+ if (!(0, _canUseDom.default)()) {
64
+ console.log('canUseDom returned false');
65
+ return null;
66
+ }
59
67
  const props = parseOptions(p);
68
+ console.log('props:', props);
60
69
  const update = {
61
70
  config: () => {},
62
71
  clear: () => null
@@ -68,16 +77,20 @@ const ToastObj = p => {
68
77
  } = props;
69
78
  const container = document.createElement('div');
70
79
  const bodyContainer = (0, _getContainer.resolveContainer)(teleport);
80
+ console.log('bodyContainer:', bodyContainer);
71
81
  bodyContainer.appendChild(container);
82
+ console.log('container added to bodyContainer');
72
83
  const TempToast = () => {
73
- console.log('TempToast');
84
+ console.log('TempToast component rendered');
74
85
  const options = Object.assign({
75
86
  duration: 2000
76
87
  }, props);
77
- const [visible, setVisible] = (0, _react().useState)(false);
88
+ const [visible, setVisible] = (0, _react().useState)(true); // 初始化为true,确保组件渲染时可见
78
89
  const [state, setState] = (0, _react().useState)(Object.assign({}, options));
90
+ console.log('TempToast useState initialized, visible:', visible);
79
91
  // clearDOM after animation
80
92
  const internalOnClosed = (0, _react().useCallback)(() => {
93
+ console.log('internalOnClosed called');
81
94
  if (state.forbidClick) {
82
95
  (0, _lockClick.lockClick)(false);
83
96
  }
@@ -92,17 +105,18 @@ const ToastObj = p => {
92
105
  }, [container]);
93
106
  // close with animation
94
107
  const destroy = (0, _react().useCallback)(() => {
95
- console.log('destroy');
108
+ console.log('destroy called');
96
109
  setVisible(false);
97
110
  if (onClose) onClose();
98
111
  }, []);
99
112
  update.clear = internalOnClosed;
100
113
  update.config = (0, _react().useCallback)(nextState => {
114
+ console.log('update.config called:', nextState);
101
115
  setState(prev => typeof nextState === 'function' ? Object.assign(Object.assign({}, prev), nextState(prev)) : Object.assign(Object.assign({}, prev), nextState));
102
116
  }, [setState]);
103
117
  (0, _hooks.useIsomorphicLayoutEffect)(() => {
104
- console.log('useIsomorphicLayoutEffect');
105
- setVisible(true);
118
+ console.log('useIsomorphicLayoutEffect called');
119
+ // 移除setVisible(true),因为初始状态已经是true
106
120
  if (!allowMultiple) syncClear();
107
121
  toastArray.push(internalOnClosed);
108
122
  if (state.duration !== 0 && 'duration' in state) {
@@ -119,25 +133,20 @@ const ToastObj = p => {
119
133
  // @ts-ignore
120
134
  (0, _jsxRuntime().jsx)(_Toast.default, Object.assign({}, state, {
121
135
  visible: visible,
122
- teleport: () => container,
136
+ // 移除teleport属性,避免嵌套的createPortal调用
123
137
  onClose: destroy,
124
138
  onClosed: internalOnClosed
125
139
  }))
126
140
  );
127
141
  };
142
+ console.log('Before render(<TempToast />)');
128
143
  // @ts-ignore
129
- console.log((0, _jsxRuntime().jsx)(TempToast, {}), 'TempToast1');
130
- setTimeout(() => {
131
- // @ts-ignore
132
- (0, _render.render)((0, _jsxRuntime().jsx)(TempToast, {}), container);
133
- console.log('render(<TempToast />, container)');
134
- //@ts-ignore
135
- console.log((0, _jsxRuntime().jsx)(TempToast, {}), 'TempToast2');
136
- console.log(container, 'container');
137
- return update;
138
- }, 300);
144
+ (0, _render.render)((0, _jsxRuntime().jsx)(TempToast, {}), container);
145
+ console.log('After render(<TempToast />)');
146
+ return update;
139
147
  };
140
148
  function parseOptions(message) {
149
+ console.log('parseOptions called:', message);
141
150
  if ((0, _utils.isObject)(message)) {
142
151
  return message;
143
152
  }
@@ -145,9 +154,12 @@ function parseOptions(message) {
145
154
  message
146
155
  };
147
156
  }
148
- const createMethod = type => options => ToastObj(Object.assign(Object.assign(Object.assign(Object.assign({}, currentOptions), defaultOptionsMap.get(type)), parseOptions(options)), {
149
- type
150
- }));
157
+ const createMethod = type => options => {
158
+ console.log('createMethod called:', type, options);
159
+ return ToastObj(Object.assign(Object.assign(Object.assign(Object.assign({}, currentOptions), defaultOptionsMap.get(type)), parseOptions(options)), {
160
+ type
161
+ }));
162
+ };
151
163
  ['info', 'loading', 'success', 'fail'].forEach(method => {
152
164
  ToastObj[method] = createMethod(method);
153
165
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-vant-nova",
3
- "version": "1.1.6-test",
3
+ "version": "1.1.8-test",
4
4
  "description": "React Mobile UI Components based on Vant UI (兼容 React 19+,新增轻量 Table 组件)",
5
5
  "keywords": [
6
6
  "ui",