Coder Social home page Coder Social logo

Comments (5)

iahmediibrahim avatar iahmediibrahim commented on June 18, 2024 1

@OEvgeny for the build to succeed, you need to change the return of the provider to this:

return function WebChatProvider(props) { return <WebChatContext.Provider value={WebChat} {...props} />; };

from botframework-webchat.

OEvgeny avatar OEvgeny commented on June 18, 2024

I'm looking into this and seems the issue is that WebChat doesn't currently support ESM environments properly

from botframework-webchat.

OEvgeny avatar OEvgeny commented on June 18, 2024

Here is the working example of WebChat + NextJS: https://stackblitz.com/edit/stackblitz-starters-e38mut?file=app%2Fpage.tsx

from botframework-webchat.

Chosey98 avatar Chosey98 commented on June 18, 2024

Oh it worked, Could you please elaborate more on why did it work like that? @OEvgeny

from botframework-webchat.

OEvgeny avatar OEvgeny commented on June 18, 2024

@Chosey98 if using regular top-level imports, despite use-client directive it looks like NextJS imports WebChat on the server, which doesn't work as WebChat is designed to work in the browser.

In browser, in order to include WebChat into the same component tree, we need to use the same React and ReactDOM distributions. This means not only React and ReactDOM versions should match, but the actual imported modules should be the same.

For such cases WebChat provides a way to use exact React and ReactDOM versions. All you need is to expose them to window as window.React and window.ReactDOM.

At this point, this seems the best way possible to handle dependencies in browser. In future we may be able to use ES modules and import maps to handle this.

from botframework-webchat.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.