Кажется, довольно просто реализовать зависимость.Глядя на исходный код зависимости, кажется, что это всего лишь обертка вокруг WebView, поэтому просто имейте в виду, что она, вероятно, будет работать, только если вы находитесь в сети.
В зависимости есть некоторые параметры по умолчанию, уже установленные для MathJax
, и вы можете передать дополнительные параметры, используя mathJaxOptions
prop.Поэтому, если мы передадим
{
jax: ['input/MathML']
}
, то он должен сообщить MathJax
, что вы передаете MathML
в качестве ввода.
Итак, вот простой компонент, который использует react-native-mathjax
import React, { Component } from 'react';
import { View, Text } from 'react-native';
import MathJax from 'react-native-mathjax';
const mmlOptions = {
jax: ['input/MathML'],
};
class MathView extends Component {
render () {
return (
<View style={{flex:1}}>
<MathJax
mathJaxOptions={mmlOptions}
html={'<math xmlns="http://www.w3.org/1998/Math/MathML"><msqrt><mn>2</mn><mfrac bevelled="true"><mn>4</mn><mn>7</mn></mfrac></msqrt><mo>+</mo><mfrac><mn>5</mn><mn>8</mn></mfrac></math> this is just a string'}
/>
</View>
);
}
}
export default MathView;
Это даст вам что-то вроде этого
![enter image description here](https://i.stack.imgur.com/wJEQq.png)
Этого должно быть достаточно, чтобы начать работу.Вы можете передать дополнительные опции через mathJaxOptions
prop.Вам просто нужно посмотреть MathJax
документацию для всех различных вещей, которые вы можете передать.
Предостережение
На Android не похоже, что Android WebView может отображать MathML, возможно, есть конфигурация, которая заставит его работать, но я не знаю этогооднако Android WebView действительно отображает LaTex, поэтому, возможно, преобразование вашего MathML в LaTex может стать для вас альтернативным вариантом.