When using the "reset messages simultaneously" option during config import,
the conversation messages in the chat interface were not being properly reset,
while normal conversation resets worked correctly.
**Changes:**
- Modified `handleConfigReset` in `usePlaygroundState.js` to clear messages
before setting default examples
- Added asynchronous message update to force Chat component re-render
- Ensures immediate UI refresh when resetting imported conversation data
**Root Cause:**
The direct assignment to DEFAULT_MESSAGES didn't trigger a complete
component refresh, causing the chat interface to display stale data.
**Solution:**
```javascript
// Before
setMessage(DEFAULT_MESSAGES);
// After
setMessage([]);
setTimeout(() => {
setMessage(DEFAULT_MESSAGES);
}, 0);
```
This two-step approach forces the Chat component to unmount and remount
with fresh data, resolving the display inconsistency.
32 lines
965 B
JavaScript
32 lines
965 B
JavaScript
import React from 'react';
|
|
import ReactDOM from 'react-dom/client';
|
|
import { BrowserRouter } from 'react-router-dom';
|
|
import { UserProvider } from './context/User';
|
|
import 'react-toastify/dist/ReactToastify.css';
|
|
import { StatusProvider } from './context/Status';
|
|
import { Layout } from '@douyinfe/semi-ui';
|
|
import { ThemeProvider } from './context/Theme';
|
|
import { StyleProvider } from './context/Style/index.js';
|
|
import PageLayout from './components/PageLayout.js';
|
|
import './i18n/i18n.js';
|
|
|
|
// initialization
|
|
|
|
const root = ReactDOM.createRoot(document.getElementById('root'));
|
|
const { Sider, Content, Header, Footer } = Layout;
|
|
root.render(
|
|
<React.StrictMode>
|
|
<StatusProvider>
|
|
<UserProvider>
|
|
<BrowserRouter>
|
|
<ThemeProvider>
|
|
<StyleProvider>
|
|
<PageLayout />
|
|
</StyleProvider>
|
|
</ThemeProvider>
|
|
</BrowserRouter>
|
|
</UserProvider>
|
|
</StatusProvider>
|
|
</React.StrictMode>,
|
|
);
|