For AI agents: the complete documentation index is available at /next/zh/llms.txt, the full documentation bundle is available at /next/zh/llms-full.txt, and this page is available as Markdown at /next/zh/api/react/testing-library/接口/RenderOptions.md.
Lynx
  • 简体中文
    • English
  • 接口: RenderOptions<Q extends Queries = typeof queries>

    render 的选项。

    类型参数

    类型参数默认类型
    Q extends Queriestypeof queries

    属性

    enableBackgroundThread?

    optional enableBackgroundThread?: boolean

    是否在后台线程中渲染组件。

    注意,默认情况下所有顶层用户代码都会在后台线程中执行(例如,顶层的 __BACKGROUND__ 为 true)。

    默认值

    true

    enableMainThread?

    optional enableMainThread?: boolean

    是否在主线程中渲染组件。

    建议仅在需要测试 IFR 行为时使用此选项。

    默认值

    false

    queries?

    optional queries?: Q

    要绑定的查询。除非进行合并,否则会覆盖 DOM Testing Library 提供的默认查询集合。

    示例

    // Example, a function to traverse table contents
    import * as tableQueries from 'my-table-query-library'
    import { queries } from '@lynx-js/react/testing-library'
    
    const { getByRowColumn, getByText } = render(<MyTable />, {
      queries: {...queries, ...tableQueries},
    })
    

    wrapper?

    optional wrapper?: any

    把 React 组件作为 wrapper 选项传入,它会被渲染在内部元素外层。这在为常用的数据 Provider 创建可复用的自定义 render 函数时最有用,示例见 setup。

    示例

    import { render } from '@lynx-js/react/testing-library'
    import { ThemeProvider } from 'my-ui-lib'
    import { TranslationProvider } from 'my-i18n-lib'
    import defaultStrings from 'i18n/en-x-default'
    
    const AllTheProviders = ({children}) => {
      return (
        <ThemeProvider theme="light">
          <TranslationProvider messages={defaultStrings}>
            {children}
          </TranslationProvider>
        </ThemeProvider>
      )
    }
    
    const customRender = (ui, options) =>
      render(ui, { wrapper: AllTheProviders, ...options })
    
    // re-export everything
    export * from '@lynx-js/react/testing-library'
    
    // override render method
    export { customRender as render }
    除非另有说明,本项目采用知识共享署名 4.0 国际许可协议进行许可,代码示例采用 Apache License 2.0 许可协议进行许可。