Closed ousiri closed 1 year ago
如果在Provider外部设置children的属性,因为IsolatorInner和StoreExecutor使用memo,导致children不更新。即使设置了memo: false。
重现Repo:https://github.com/ousiri/hox-vite-demo 重现步骤:
const [useUserStore, UserStoreProvider] = createStore(() => { return {} }, { memo: false }); const UserInfo: FC<{ name: string }> = ({ name }) => { return <div>{name}</div> } function App() { const [name, setName] = useState('Demo') return ( <div className="App"> <UserInfo name={name} /> // 可以正常更新 <button onClick={() => setName('Demo2')}>click to change</button> <UserStoreProvider> <UserInfo name={name} /> // 点击后不更新 </UserStoreProvider> </div> ) }
同样遇到了该问题😶
找到解决方式了么?
看代码是这里的问题
@awmleer 这个问题可以解决吗?
解决了吗
应该还没有解决,呜呜呜,排了半天的bug,才发现是这里的问题
非常抱歉拖到现在才修复掉…… ce5f452
已经在 2.1.1 版本发布
如果在Provider外部设置children的属性,因为IsolatorInner和StoreExecutor使用memo,导致children不更新。即使设置了memo: false。
重现Repo:https://github.com/ousiri/hox-vite-demo 重现步骤: