1

Hier ist ein gif davon: http://www.giphy.com/gifs/3oKIP7arhKhNzNzytqRadioGroupButton scheint nicht mit zu arbeiten Reagieren Starter Kit

Wie man sehen kann, wann immer ich darauf klicken, markieren Sie sie nicht.

Hier ist mein genauer Code, der in webpack arbeitet: https://www.webpackbin.com/bins/-KoaaPYxDno695fiUBMn

Aber in meinem Starter-Kit-Umgebung, es scheint nicht zu funktionieren. Die Kontrollkästchen scheinen jedoch zu funktionieren. Irgendwelche Ideen?

"react": "^15.5.4", 
"react-dom": "^15.5.4", 
"material-ui": "^0.18.6", 

EDIT: Ich habe auch reagieren-Tap-Ereignis-Plugin, und ich habe es an der Spitze meiner Client.js-Datei bezeichnet. Auch oben auf meiner Location.js-Datei versucht.

import injectTapEventPlugin from 'react-tap-event-plugin'; 
injectTapEventPlugin(); 

Hier ist meine vollständige Abhängigkeitsliste:

dependencies": { 
    "apisauce": "^0.14.0", 
    "babel-polyfill": "^6.23.0", 
    "bluebird": "^3.5.0", 
    "body-parser": "^1.17.2", 
    "classnames": "^2.2.5", 
    "cookie-parser": "^1.4.3", 
    "core-js": "^2.4.1", 
    "express": "^4.15.3", 
    "express-graphql": "^0.6.6", 
    "express-jwt": "^5.3.0", 
    "graphql": "^0.10.3", 
    "history": "^4.6.3", 
    "isomorphic-style-loader": "^2.0.0", 
    "jsonwebtoken": "^7.4.1", 
    "material-ui": "^0.18.6", 
    "node-fetch": "^1.7.1", 
    "normalize.css": "^7.0.0", 
    "passport": "^0.3.2", 
    "passport-facebook": "^2.1.1", 
    "pretty-error": "^2.1.1", 
    "prop-types": "^15.5.10", 
    "query-string": "^4.3.4", 
    "react": "^15.5.4", 
    "react-dom": "^15.5.4", 
    "react-tap-event-plugin": "^2.0.1", 
    "sequelize": "^4.2.1", 
    "serialize-javascript": "^1.3.0", 
    "source-map-support": "^0.4.15", 
    "sqlite3": "^3.1.8", 
    "universal-router": "^3.2.0", 
    "whatwg-fetch": "^2.0.3" 
    }, 
+0

Das Beispiel bei webpackbin funktioniert für mich, also sind Sie sicher, dass Sie Ihrem Code keine Rückrufe oder irgendetwas hinzugefügt haben? –

+0

Ok, ich denke, du vermisst '" react-tap-event-plugin ":" 2.0.1 "' in deinem 'package.json' –

Antwort

1

Sie sind höchstwahrscheinlich die react-tap-event-plugin fehlt. Fügen Sie es mit npm install -save react-tap-event-plugin

+0

Ich habe es tatsächlich bereits in meinem Paket JSON sowie " react- tap-event-plugin ":"^2.0.1 ", Ich habe versucht, den folgenden Code über meine client.js-Datei und über meine Kapselung Layout.js-Datei ohne Erfolg aufrufen. importTapEventPlugin von 'react-tap-event-plugin' importieren; injectTapEventPlugin(); –

0

Ich kämpfte mit diesem Problem für ein paar Tage und fand eine Lösung. Sehen Sie, ob es für Sie funktioniert

Warum hat es nicht funktioniert?

Wenn Sie sich den Backend-Code von RadioButton genau ansehen, werden Sie feststellen, dass er tatsächlich der Checkbox ähnelt. Ich erkannte, dass das Problem nicht nur mit RadioButtons, aber die Checkbox funktionierte auch nicht (während die Umschalter funktionierten).

Ich nahm meinen Quellcode und lief es mit CRA (Create React App) und es funktionierten die RadioButtons perfekt. Bei RSK (React Starter Kit) war der erste verdächtige Browsersync. Ich habe etwas tiefer gegraben und festgestellt, dass es in BrowserSync eine Konfiguration für Ghost-Klicks gibt, die ausgeschaltet werden sollte. Sie können

https://github.com/callemall/material-ui/issues/2983

So deaktivieren Sie die Ghost-Modus in Ihrem Startskript, zur /tools/start.js in Ihrem RSK Projektordner mehr hier lesen und ändern config

browserSync.create().init(
    { 
    // https://www.browsersync.io/docs/options 
    server: 'src/server.js', 
    ghostMode: false, 
    middleware: [server], 
    open: !process.argv.includes('--silent'), 
    ...(isDebug ? {} : { notify: false, ui: false }), 
    }, 
    (error, bs) => (error ? reject(error) : resolve(bs)), 
), 
Verwandte Themen