Context
Mitosis的context必須是:
- 在自己的文件中創建
- 文件名必須以context.lite.ts結尾
- 默認導出必須是一個返回context對象的函數
// simple.context.lite.ts
import { createContext } from '@builder.io/mitosis';export default createContext({foo: 'bar',get fooUpperCase() {return this.foo.toUpperCase();},someMethod() {return this.fooUpperCase.toLowercase();},content: null,context: {} as any,state: {},
});
然后你可以在組件中使用它
import Context from './simple.context.lite';
import { useContext, setContext } from '@builder.io/mitosis';export default function ComponentWithContext(props: { content: string }) {// you can access the context using `useContext`const foo = useContext(Context);// you can use `setContext` to provide a new value for the contextsetContext(Context, {foo: 'baz',content() {return props.content;},});return (// you can also use `Context.provider` to provide a new value for the context<Context.Provider value={{ bar: 'baz' }}>{foo.value}</Context.Provider>);
}