0

正在做一些 DApp 项目(喜欢 Drizzle!)。但是,我们注意到当我们在 Route 组件下使用 DrizzleProvider 时,会发生一些不当行为。

尝试了两种方法:

  1. 在 Route 的每个子组件中使用一个 DrizzleProvider
<Router>
     <Route path='/DApp/Path'>
          <DrizzleProvider>
               <DrizzleConsumer>
                   ... // Project code here
               </DrizzleConsumer> 
         </DrizzleProvider>
     </Route>
</Router>

提供者状态永远不会更新的错误,即使使用代码强制刷新状态也会保持“未初始化”。直到我们通过 F5 手动刷新浏览器以具有“初始化”状态。(这对于用户体验来说并不理想)

  1. Usng DrizzleProvider 作为一个共享的全球供应商
 <DrizzleProvider>
    <Router>
          <Route path='/DApp/Path'>
                 <DrizzleConsumer>
                       ... // Project code here
                 </DrizzleConsumer> 
           </Route>
      </Router>
</DrizzleProvider>

// ... OR ....

<Router>
     <DrizzleProvider>
       <Route path='/DApp/Path'>
            <DrizzleConsumer>
                 ... // Project code here
            </DrizzleConsumer> 
       </Route>
     </DrizzleProvider>
</Router>

加载页面时,永远无法完成这项工作。总是会出现“超出最大更新深度”错误。这导致父页面无限期地重新渲染。

关于导致 DrizzleProvider 和 Route 组件之间不兼容的原因有点想不通。什么是解决方法?

提前致谢!

4

0 回答 0