RadioGroupButton, похоже, не работает с React Starter Kit

Вот гиф этого: http://www.giphy.com/gifs/3oKIP7arhKhNzNzytq

Как видите, всякий раз, когда я нажимаю на него, он не выбирается.

Вот мой точный код, который работает в веб-пакете: https://www.webpackbin.com/bins/-KoaaPYxDno695fiUBMn

Но в моей среде стартового комплекта это, похоже, не работает. Тем не менее, флажки, кажется, работают. Есть идеи?

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

РЕДАКТИРОВАТЬ: У меня также есть plug-tap-event-plugin, и я назвал его в верхней части моего файла client.js. Также попробовал в верхней части моего файла Location.js.

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

Вот мой полный список зависимостей:

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"
  },

2 ответа

Скорее всего, вам не хватает react-tap-event-plugin, Добавьте это с npm install -save react-tap-event-plugin

Я боролся с этой проблемой в течение нескольких дней и нашел решение. Посмотрите, работает ли это для вас

Почему это не работает?

Если вы внимательно посмотрите на внутренний код RadioButton, вы поймете, что он на самом деле похож на Checkbox. Я понял, что проблема была не только с RadioButtons, но флажок также не работал (в то время как переключатели работали нормально).

Я взял свой исходный код и запустил его с помощью CRA (Create React App), и это RadioButton работали отлично. Для RSK (React Starter Kit) первым подозреваемым, который отличался, был BrowserSync. Я покопался немного глубже и обнаружил, что в BrowserSync есть конфигурация для кликов Ghost, которую нужно было отключить. Вы можете прочитать больше об этом здесь

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

Чтобы отключить режим Ghost в стартовом скрипте, перейдите в /tools/start.js в папке проекта RSK и измените конфигурацию на

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)),
),
Другие вопросы по тегам