Coder Social home page Coder Social logo

Comments (7)

cap10morgan avatar cap10morgan commented on August 16, 2024

Related: I get the same error if I don't put a <body> element into my HTML.

from om.

JoshuaOSHickman avatar JoshuaOSHickman commented on August 16, 2024

Seems like the solution would be to delay om/root (and possibly all functions, in case they're called from the top level) until after document ready, or put your script tags all in the body and not in the head. The later seems more idiomatic when it comes to the JS development. Maybe just having the script tags in the sample HTML be in a body tag to make it explicit?

from om.

swannodette avatar swannodette commented on August 16, 2024

What does your markup actually look like? In general you should follow the lead of the examples in the repo. Thanks.

from om.

cap10morgan avatar cap10morgan commented on August 16, 2024

@swannodette Initially it just looked like the example in the README with tags around it. Granted, that example says, "Your local development markup should include something like the following" (emphasis mine). This implies that it is not a complete example. But it's so close to something that is, it seems worth it to add enough to it so that Om will successfully add the "Hello world!" div from the example after copying and pasting from the README.

I can issue a PR with that change if you agree. I know you said "no PRs" for now, which I totally get. But maybe this can be an exception since it's just a README edit that helps people get up and running with what's there.

Thanks for this, it's a great library built around a very exciting idea. I can't wait to see where it goes.

from om.

swannodette avatar swannodette commented on August 16, 2024

fixed the README

from om.

johnbendi avatar johnbendi commented on August 16, 2024

I'm still getting this issue in the 0.4.2 release. Can you throw more light on situations when root throws this error:

#<Error: Invariant Violation: prepareEnvironmentForDOM(...): Target container is not a DOM element.> Error: Invariant Violation: prepareEnvironmentForDOM(...): Target container is not a DOM element. at invariantDev (http://localhost:3000/javascript/react.js:13387:13) at Object.ReactMount.prepareEnvironmentForDOM (http://localhost:3000/javascript/react.js:8548:39) at Object.ReactMount._registerComponent (http://localhost:3000/javascript/react.js:8597:16) at Object.ReactMount._renderNewRootComponent (http://localhost:3000/javascript/react.js:8615:34) at Object.ReactMount.renderComponent (http://localhost:3000/javascript/react.js:8665:32) at Object.renderComponent (http://localhost:3000/javascript/react.js:9732:21) at rootf (http://localhost:3000/generated-js/om/core.js:1132:121) at root (http://localhost:3000/generated-js/om/core.js:1154:14) at eval (repl-1393706311229.js:1:78) at eval (repl-1393706311229.js:6:3)
The code executed is

(om/root
  (fn [app owner]
    (dom/h2 nil (:text app)))
  app-state
  {:target (. js/document (getElementById "container"))})

HTML is:

<body id="home">
  <div id="app"></div>
  <div id="container">
    <div id="header">
      <h1>Om Samplee</h1>
    </div>
    <div id="content">
      <div id="nav">
      </div>
      <div id="main content">
      </div>
    </div>
  </div>
  <script src="javascript/react.js" type="text/javascript"></script>
  <script id="script-driver"></script>
</body>

from om.

swannodette avatar swannodette commented on August 16, 2024

I am not supporting anything but the current release.

from om.

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.