关于 mobX 在 react 16.8.0 以上的用法
以下例子均取自官网文档
一般用法:
import { observer, useLocalStore } from 'mobx-react';
const Hooks = observer(() => {
const todo = useLocalStore(() => ({
title: 'Click to toggle', done: false, toggle() {
todo.done = !todo.done
},
get emoji() {
return todo.done ? '' : ''
},
}));
return <div onClick={todo.toggle}>
<h3>{todo.title} {todo.emoji}</h3>
</div>
})
可以看到原来的修饰符@observer
,
现在是使用 HOC 来进行扩展的;
还有另外的 2 种修饰方法:
1:
import { useLocalStore, useObserver } from 'mobx-react';
function Person() {
const person = useLocalStore(() => ({ name: 'John' }))
return useObserver(()