Я новичок в Reactjs. Я хочу создать общую функцию между Main.js и RegistrationForm.js, ниже приведены коды.Как создать общую функцию между несколькими компонентами в Reactjs?
Вот мой index.html код:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="../assets/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="../assets/css/styles.css">
</head>
<body>
<div id="app"></div>
<script src="../assets/js/jquery.min.js"></script>
<script src="bundle.js"></script>
</body>
</html>
Вот мой Main.js, основной компонент которой выполняется рендеринг ReactDOM:
var React = require('react');
var ReactDom = require('react-dom');
var SignupForm = require('./SignupForm.js');
var Modal = require('react-bootstrap/lib/Modal');
var Main = React.createClass({
getInitialState() {
return { showModal: false};
},
close() {
this.setState({ showModal: false });
},
open() {
this.setState({ showModal: true });
},
render: function() {
return (
<div>
<button className="btn-block btn btn-lg btn-info" onClick={this.open}> Open </button>
<Modal show={this.state.showModal} onHide={this.close} bsSize="small" aria-labelledby="contained-modal-title-sm" enforceFocus >
<Modal.Header closeButton>
<Modal.Title className="text-center tb_spacing">Sign up free to connect with the
right one</Modal.Title>
<SignupForm />
</Modal.Header>
</Modal>
<div>
);
}
});
ReactDOM.render(<Main/>, document.getElementById('app'));
И другой мой SignupForm.js компонентного код:
var React = require('react');
var SignupForm = React.createClass ({
render : function() {
return (
<form id="signup">
<div className="form-group" id="formControlsEmail">
<label className="control-label">Email</label>
<input type="email" className="form-control" placeholder="Enter email" id="layer_email"/>
</div>
<div className="form-group" id="formControlsPassword">
<label className="control-label">Password</label>
<input type="password" className="form-control" placeholder="Enter password" id="layer_password1"/>
</div>
<div className="form-group">
<label className="control-label">Gender </label>
<label className="radio-inline" >
<input type="radio" name="male" />
Male
</label>
{' '}
<label className="radio-inline" >
<input type="radio" name="female" />
Female
</label>
{' '}
</div>
<button type="submit" className="btn-block btn btn-lg btn-info" onClick={this.close}>
Next
</button>
</form>
)
}
});
module.exports = SignupForm;
Из моего SignupForm.js Я пытаюсь выполнить функцию Close(), которая находится в Main .js.
Спасибо заранее.
Это работает спасибо! –
Не могли бы вы выслать мне ссылку на Modal JSX. –