博客开发日志-第一篇博客

2026 年 7 月 7 日
85

 经过半个月的努力,基于golang + react + astro的博客勉强搭建好了,虽然还有很多功能未完善,但是基础的骨架已经完善了。剩下的就是慢慢堆功能了。先简单测试一下富文本编辑器。

https://static.ua42.com/blog/NfsWNFuNDQ7NQFFHImnKg.jpg

h1标题

h2标题

import { StrictMode, useEffect, useMemo } from 'react'

import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import { RouterProvider } from '@tanstack/react-router'
import ReactDOM from 'react-dom/client'
import { Toaster } from 'sonner'

import { Loading } from '@/components/loading'

import { setupRouter } from './routes'
import { useStore } from './store'

import './index.css'

const queryClient = new QueryClient({
  defaultOptions: {
    queries: {
      refetchOnWindowFocus: false,
      refetchOnReconnect: false,
      refetchOnMount: true,
      retry: false,
    },
  },
})

function App() {
  const init = useStore((state) => state.init)
  const userInfo = useStore((state) => state.userInfo)
  const pageLoading = useStore((state) => state.pageLoading)
  const router = useMemo(() => setupRouter(userInfo?.menus || []), [userInfo?.menus])

  useEffect(() => {
    init()
  }, [init])

  if (pageLoading) {
    return <Loading />
  }

  return (
    <StrictMode>
      <QueryClientProvider client={queryClient}>
        <Toaster position='top-center' />
        <RouterProvider router={router} />
      </QueryClientProvider>
    </StrictMode>
  )
}

const rootElement = document.getElementById('root')!
if (!rootElement.innerHTML) {
  const root = ReactDOM.createRoot(rootElement)
  root.render(<App />)
}