/* eslint-disable @typescript-eslint/no-unused-vars */
import React from 'react';
import Page from '../Page';
import useToolkit from '../toolkit/useToolkit';
import selectableTextConfig from './cards/selectableTextConfig';
export default function PageFAQ() {
const {
Acronym,
Admonition,
Bold,
Header,
Paragraph,
Chapter,
SourceDisplay,
RefLibrary,
RefRNSymbol,
RefHtmlElement,
RefCssProperty,
RefRenderHtmlProp,
RefRenderHTMLExport,
RefTRE,
RefHtmlAttr,
RefDoc,
RenderHtmlCard,
Section,
InlineCode,
Hyperlink,
List,
ListItem,
SvgFigure
} = useToolkit();
return (
Use renderersProps.a.onPress, see{' '}
Stack Overflow | How to open the browser when a link is pressed?
{' '}
and .
You can define custom renderers for that purpose. See{' '}
.
Use utility. See{' '}
Stack Overflow | Extract raw HTML in react-native-render-html
custom renderers
.
That's really a piece of cake. See{' '}
@native-html/iframe-plugin
.
See this example from the docs:{' '}
Example: Displaying Inline Images
.
Sure! The default renderer is very limited. Check-out{' '}
@native-html/table-plugin
{' '}
and{' '}
@native-html/heuristic-table-plugin
.
You can take advantage of{' '}
prop to set{' '}
selectable to all{' '}
instances.
However, the end-user won't be able to select across multiple
blocks: this is a limitation of React Native.
There is a detailed explaination for this warning here:{' '}
Stack Overflow | react-native-render-html, "You seem to update
..."
.
You must register fonts available in your app with{' '}
prop. This feature is
called font selection and prevents native crashes
caused by missing fonts! See{' '}
Font Selection
.
Also note that fontWeight and{' '}
fontStyle typefaces modifiers, which might
be set by default for some tags such as
, will cause the font to be missed on Android if you haven't
registered your font with typefaces, e.g. via{' '}
XML fonts
. See{' '}
this StackOverflow answer for a step-by-step guide
.
This is a known bug, but hopefully we have the{' '}
prop to
fix it. See{' '}
Textual | Caveats | Line Breaks
.
This is another known bug, but hopefully we have the{' '}
{' '}
prop to fix it. See{' '}
Textual | Caveats | Empty Tags
.
That would often happen in the HTML markup when your custom tags is
self-closing such as in {''}.
The HTML5 standard strictly prohibits non-void elements to be
self-closing, and the required behavior for a parser is to ignore
the {'/'} character in that case. Abding by
this standard, the HTML parser will end up considering{' '}
{''} as equivlent to{' '}
{''}. Therefore, any content
below it will be considered as children of{' '}
{''}. Because it is forgiving,
the parser will close this tag when it reaches the end of the
stream. To overcome this issue, you have two options:
Replace {''} with{' '}
{''} in your HTML
markup.
Set recognizeSelfClosing option to{' '}
true in{' '}
prop.
This is caused by a known limitation in React Native.{' '}
The issue is being tracked on Github.
Likely a bug between react-native-webview{' '}
and react-native-screens. See{' '}
Stack Overflow | When rendering iframes, Android crashes while
navigating back to stack screen
.
Probably an issue with your package manager. See{' '}
Stack Overflow | Unable to resolve XXX from module YYY
.
This is a limitation of FaceBook's fresco library and React Native{' '}
component. You need to downsize the
image.
Because of a{' '}
React Native bug
, nested `Text` elements are not accessible, which means that the
screen reader will not be able to identify{' '}
tags as links when grouped with other
textual elements. Below is an example:
Unfortunately,
this hyperlink is not accessible
`}
/>
Luke Walczak from Callstack{' '}
explains how to circumvent this issue in a great post
. Unfortunately, this workaround cannot be genericized and we will
have to wait for a fix in React Native codebase.
);
}