将数学表达式编写为文本会使其非常难看

<p>λy.xy</p>

results in this: unicode lambda expression

用MathML做这件事似乎更好

<math xmlns="http://www.w3.org/1998/Math/MathML">
    <mi>&lambda;</mi>
    <mi>y</mi>
    <mo>.</mo>
    <mi>x</mi>
    <mi>y</mi>
</math>

gives: MathML lambda expression

(On math stack exchange it's even nicer with the same MathML: lambda expression from math stack exchange, but I'm not sure yet how to get that without MathJax)

我想在我的Reaction应用程序中拥有更好的外观,但它似乎不接受<math>的标签.有没有类似于JSX的解决方案,可以让我像下面的HTML一样使用RESPECT交互?

<math xmlns="http://www.w3.org/1998/Math/MathML">
    <mi onClick="console.log('hello')">&lambda;</mi>
    <mi>y</mi>
    <mo>.</mo>
    <mi>x</mi>
    <mi>y</mi>
</math>

推荐答案

math元素似乎是完全有效的HTML,这意味着它应该也可以在JSX的Reaction中很好地工作.我在您的JSX中看到的唯一问题是mi元素的onClick处理程序.您已经指定了一个字符串值,而它应该是JSX中的函数,例如,将onClick="console.log('hello')"更改为onClick={() => console.log('hello')}.

示例:

function App() {
  return (
    <div className="App">
      <math xmlns="http://www.w3.org/1998/Math/MathML">
        <mi onClick={() => console.log('hello')}>&lambda;</mi>
        <mi>y</mi>
        <mo>.</mo>
        <mi>x</mi>
        <mi>y</mi>
      </math>
    </div>
  );
}

const rootElement = document.getElementById("root");
const root = ReactDOM.createRoot(rootElement);

root.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/18.0.0/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/18.0.0/umd/react-dom.production.min.js"></script>
<div id="root" />

Reactjs相关问答推荐

为什么Next.js 14无法解析页面路由路径?

在react.js的条形图中获取错误&unfined是不可迭代的

REACT路由DOM根据参数呈现不同的路由

在Reaction常量函数中未更新状态变量

为多租户SSO登录配置Azure AD应用程序

当我try 部署我的Reaction应用程序时,为什么在此PrevState语句中收到语法错误?

useState导致对函数的无休止调用

如何在MUI x图表条形图上放置圆角?

如何动态地改变<; Select >;React和Tailwind元素?

React 错误: 只能用作 元素的子元素,从不直接渲染.请将您的 包裹在

提前输入错误:选项类型上不存在属性名称

try 从 React JS 构建此教程游戏但无法继续前进

在 reactJS 中导航时页面重新加载

使用输入类型文本对 useState 和日期做出react

如何制作基于对象 struct 呈现数据的可重用组件?

使用 yarn 编译 protobuf js 时出现错误pbjs: command not found

哪个是创建 React 应用程序的更好方法?

仅在重新渲染后设置状态

为什么 state redux-toolkit 是代理?

在 redux 状态更改时更新react 按钮禁用状态