Ich habe ein Problem mit der Verwendung von Materialize-CSS mit React. Ich habe es mit Webpack und Babel gebaut. Das Problem ist:Materialize funktioniert nicht mit React, Webpacka. jQuery ist nicht erweitert
TypeError: $(...).parallax is not a function
TypeError: $(...).material_chip is not a function
TypeError: $(...).modal is not a function
etc.
Es ist meine Reaktion Klasse:
import React from 'react';
import 'materialize-css';
import 'materialize-css/dist/css/materialize.min.css';
class AwesomeComponent extends React.Component {
constructor(props) {
super(props);
}
onLike() {
$('.modal').modal();
}
render() {
return (
<div>
<div id="modal1" className="modal">
<div className="modal-content">
<h4>Modal Header</h4>
<p>A bunch of text</p>
</div>
<div className="modal-footer">
<a href="#!" className=" modal-action modal-close waves-effect waves-green btn-flat">Agree</a>
</div>
</div>
<a className="waves-effect waves-light btn" onClick={this.onLike}>
<i className="material-icons left">
cloud
</i>
Like cloud
</a>
</div>
);
}
}
export default AwesomeComponent;
Dies ist ein Teil meiner webpack.config.js ist die jQuery importiert:
plugins: [
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery"
})
Dies ist ein Teil von meinem package.json:
"dependencies": {
"babel-core": "^6.18.2",
"babel-loader": "^6.2.8",
"babel-preset-es2015": "^6.18.0",
"babel-preset-react": "^6.16.0",
"materialize-css": "^0.98.0",
"react": "^15.4.1",
"react-dom": "^15.4.1",
"webpack": "^1.13.3",
"jquery": "^2.1.4"
},
Hilf mir bitte, ich h Ich habe alles versucht.
Ich habe es debuggen. Es fügt Plugins (.modal zum Beispiel) zu $ prototype hinzu, aber irgendwie sind die Funktionen verschwunden, wenn ich es in der Klasse benutzen will.
Am Ende ist dies ein Stack Trace:
TypeError: $(...).modal is not a function[Learn More] bundle.js:44497:14
onLike
bound onLike
ReactErrorUtils.invokeGuardedCallback
executeDispatch
executeDispatchesInOrder executeDispatchesAndRelease
executeDispatchesAndReleaseTopLevel
forEach forEachAccumulated
EventPluginHub.processEventQueue
runEventQueueInBatch
ReactEventEmitterMixin.handleTopLevel
handleTopLevelImpl
TransactionImpl.perform
ReactDefaultBatchingStrategy.batchedUpdates
batchedUpdates
ReactEventListener.dispatchEvent
bound
Haben Sie jemals Holen Sie sich das Modal zu zeigen? Ich habe ein ähnliches Problem, außer dass ich keinen Fehler erhalte, wenn geöffnet wird. Nichts passiert überhaupt. Ich habe das gleiche Setup wie du. Die Antwort unten funktioniert auch nicht. Auch das Material-Reagieren-Modal ist jetzt gebrochen. –