2017-07-28 10 views
5

Chciałem renderować null w katalogu głównym, więc mogę mieć pełne drzewo, które renderuje wartość null, ale po prostu skorzystaj z komponentu (+ jego metod lifestylowych) struktury React.Renderowanie katalogu głównego jako NULL (rendering w zakresie DOMless)

Oto kilka informacji na temat "powracającej koncepcji zerowej": https://github.com/joshwcomeau/return-null - rozmowa o oświetleniu od reagowania conf.

Wykonuję aplikację elektronów. W głównym zakresie nie ma dom. W tym głównym zasięgu (index.js) mam swój sklep redux, zwracam null w całym drzewie, włączając w to root. Jednak nie mogę początkowo czyni go bo początkowy renderowania jestem zobowiązany do korzystania ReactDOM.render tak:

ReactDOM.render(<AllNullStuff />, document.getElementById('something')) 

nie mam dom, czy jest tak, aby go uczynić?

Gdy próbuję null jako root dostaję błąd:

Error: _registerComponent(...): Target container is not a DOM element.

Czy istnieje jakiś sposób, aby sprawić, że całkowicie null drzewa tak nie jest wymagane DOM?

+2

To ciekawe i równie dziwne. Wyższy poziom abstrakcji. Jak to ma działać? Renderuj rzeczy wewnątrz React ** DOM **, kiedy właściwie ... nic nie musi być renderowane. :)) –

+1

Dzięki @Kinduser za komentarz! :) Jest tak przydatny, że udało mi się go ściągnąć w rozszerzeniach przeglądarki, ponieważ nawet główny/wpis "background" index.js ma DOM, więc renderowałbym pusty div, wtedy pozostałe moje komponenty były ' null'. Drzewo tła po prostu reaguje na zmiany stanu. Składniki 'componentDidUpdate',' componentDidMount' i 'componentWillUnmount' są najsilniej używane w elementach' return null; ', podczas gdy metoda' render' nie jest w ogóle używana. – Noitidart

+1

Chciałbym ci pomóc, ale nie mogę :(Może powinieneś poszukać wskazówek na temat githuba React'a itp :) –

Odpowiedz

0
  1. Elektron ma DOM.
  2. Jeśli nie masz DOM, oznacza to, że nie ma sposobu, aby go renderować. Jak renderujesz DOM w miejscu, w którym go nie ma?
  3. Sprawdź p1, masz DOM w aplikacji elektronowej, a po pewnych konfiguracjach jest w pełni równy rozwojowi strony internetowej, wygląda na to, że robisz coś źle.
  4. Nie możesz mieć drzewa. Tak, możesz wstawić wartość null do innego znacznika, ale wartość null nie może mieć dzieci.

Podoba mi się to.

Jeśli wyrenderujesz wartość null w #root, będzie ona wyświetlana jako pusta etykieta, ale w jej środku nie będzie to możliwe.

render() { 
    return null; //how to put child tags in it? No way... 
} 
+0

Dzięki, Max, próbowałem renderować na stronie w tle elektronów, gdzie nie ma DOM.React Native również nie ma DOM, więc interesujące jest to, jak to robią, szkoda, że ​​nie był bardziej znany/udokumentowany, jak załadować bootstrap do DOM-less. – Noitidart

Powiązane problemy