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)),
),