developit / developit/react-router-4-test

Switch does not work

Offen
#7 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
JavaScript
Sterne
35
Forks
7
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

**Edit: Just realized pull request /pull/2 is exactly about this**

react-router's [Switch](https://reacttraining.com/react-router/web/api/Switch) looks for a function `Children.forEach` which isn't there. If I try to shim it by
```
Children.forEach = (c, f) => c.forEach(f);
```
then it looks for a function `React.isValidElement`, When it is shimmed as `const isValidElement = (e) => true;`, Switch starts to look for the component's props but the VNode doesn't have it, so Children.forEach should be

```
Children.forEach = (C, f) => {
const compat = C.map(c => ({...c, props: { path: c.attributes.path }}));
return compat.forEach(f);
}
```

which finally results in a `props.match` object returned from Switch. However, one would rather import `preact-compat` instead of rewriting it.

Don't know how this would be solved other than using `preact-compat` when `Switch` or other complex routing elements are needed.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.