You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The first step is to declare the web component as a JSX element in index.d.ts like so:
// index.d.tsimport{DOMAttributes}from"react";import{MathfieldElementAttributes}from'mathlive'typeCustomElement<T>=Partial<T&DOMAttributes<T>>;declare global {namespaceJSX{interfaceIntrinsicElements{["math-field"]: CustomElement<MathfieldElementAttributes>;}}}
Then create a component that wraps the <math-field> web component
// components>MathField.tsximport{useEffect,useRef}from"react";import{MathfieldElement}from"mathlive";constMathField=()=>{// `MathfieldElement` works for TSconstmathFieldRef=useRef<MathfieldElement>(null);useEffect(()=>{mathFieldRef.current?.setOptions({// whatever});},[]);return(<math-fieldref={mathFieldRef}/>);};exportdefaultMathField;
and then import the component dynamically like this:
@arnog Sorry for late respond. I tried to implement it 1:1 how you show it here, but still I got errors from Next 13 :|
My general goal is to implement math-live & compute-enginge for displaying and calculating stuff...
Is it even possible on Next.13? And meaby CodeSandbox will help here?
Others have been able to do it, so it's certainly possible. I'm confident you will figure it out. Hard to provide more guidance without information about your code or the errors that you ran into, but best of luck.
Activity
arnog commentedon Nov 4, 2022
There was recently a discussion on this topic at https://gitter.im/cortex-js/community.
I'm copying the relevant bits here:
AdamZajler commentedon Nov 27, 2022
@arnog Sorry for late respond. I tried to implement it 1:1 how you show it here, but still I got errors from Next 13 :|
My general goal is to implement math-live & compute-enginge for displaying and calculating stuff...
Is it even possible on Next.13? And meaby CodeSandbox will help here?
arnog commentedon Nov 27, 2022
Others have been able to do it, so it's certainly possible. I'm confident you will figure it out. Hard to provide more guidance without information about your code or the errors that you ran into, but best of luck.