Javascript 将材料ui与电子结合使用

Javascript 将材料ui与电子结合使用,javascript,node.js,reactjs,electron,material-ui,Javascript,Node.js,Reactjs,Electron,Material Ui,我正在用React构建一个电子应用程序,并尝试使用MaterialUI作为UI元素。我在一个组件中添加了一个日期选择器和时间选择器,输入显示在electron应用程序中,但是当你点击它时,什么也没有发生。我不确定为了让它正常工作我缺少了什么 组成部分: import React, { Component } from 'react'; import DatePicker from 'material-ui/DatePicker'; import TimePicker from 'material

我正在用React构建一个电子应用程序,并尝试使用MaterialUI作为UI元素。我在一个组件中添加了一个日期选择器和时间选择器,输入显示在electron应用程序中,但是当你点击它时,什么也没有发生。我不确定为了让它正常工作我缺少了什么

组成部分:

import React, { Component } from 'react';
import DatePicker from 'material-ui/DatePicker';
import TimePicker from 'material-ui/TimePicker';

export default class Schedule extends Component {
  render() {
    return (
      <div>
        Pick a date :
        <DatePicker id="date"/>
        and time :
        <TimePicker id="time"/>
      </div>
    )
  }
}
import React,{Component}来自'React';
从“物料界面/日期选择器”导入日期选择器;
从“物料界面/时间选择器”导入时间选择器;
导出默认类明细表扩展组件{
render(){
返回(
选择一个日期:
时间:
)
}
}
index.js:

import 'babel-polyfill'; // generators
import React from 'react';
import { render as renderReact } from 'react-dom';
import debounce from 'debounce';
import configureStore from './store/configureStore';
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
import injectTapEventPlugin from 'react-tap-event-plugin';

injectTapEventPlugin();

const state = JSON.parse(localStorage.getItem('state'));
const store = configureStore(state || {});

let App = require('./components/app').default;
const render = (Component) => {
  renderReact(<MuiThemeProvider><Component {...store} /></MuiThemeProvider>, document.getElementById('root'));
};

if (module.hot) {
  module.hot.accept('./components/app', function() {
    let newApp = require('./components/app').default;
    render(newApp);
  });
}

const saveState = debounce(() => {
  localStorage.setItem('state', JSON.stringify(store.getState()));
}, 1000);
store.subscribe(() => {
  saveState();
  render(App);
  if (process.env.ENV === 'development') {
    console.log('state', store.getState());
  }
});
store.dispatch({ type: 'APP_INIT', store });
导入“babel polyfill”;//发电机
从“React”导入React;
从“react dom”导入{render as renderReact};
从“去盎司”进口去盎司;
从“/store/configureStore”导入configureStore;
从“材质ui/styles/MuiThemeProvider”导入MuiThemeProvider;
从“react-tap事件插件”导入injectTapEventPlugin;
injectTapEventPlugin();
const state=JSON.parse(localStorage.getItem('state');
const store=configureStore(状态|{});
让App=require('./组件/App')。默认值;
常量渲染=(组件)=>{
renderReact(,document.getElementById('root'));
};
如果(模块热){
module.hot.accept('./组件/app',函数(){
让newApp=require('./组件/app')。默认值;
渲染(新应用程序);
});
}
const saveState=debounce(()=>{
setItem('state',JSON.stringify(store.getState());
}, 1000);
store.subscribe(()=>{
saveState();
渲染(应用程序);
如果(process.env.env==='development'){
console.log('state',store.getState());
}
});
dispatch({type:'APP_INIT',store});

在app.js中,您需要导入并执行以下插件:

const injectTapEventPlugin = require('react-tap-event-plugin');
injectTapEventPlugin();

或者切换到V1当前版本以解决此问题。