【发布时间】:2017-07-04 01:37:53
【问题描述】:
我正在构建一个简单的 SPA 应用程序,它有一个 LoginForm 和 Reset Form 表单。
这两个组件共享方法
getInputFields() 和 handleSubmit()
这是我的代码示例:
import React from 'react';
import InputField from './InputField';
import SubmitButton from './SubmitButton';
class ResetForm extends React.Component {
constructor(props) {
super(props);
this.handleSubmit = this.handleSubmit.bind(this);
this.getInputFields = this.getInputFields.bind(this);
}
handleSubmit(e) {
e.preventDefault();
console.log('submitted');
}
getInputFields() {
return [
{ type: 'email', placeholder: 'Email' }
]
}
render() {
return (
<form onSubmit={ this.handleSubmit }>
{
this.getInputFields()
.map((field) => <InputField type={ field.type } placeholder={ field.placeholder } />)
}
<SubmitButton />
</form>
)
}
}
export default ResetForm;
而我的LoginForm只有不同的数据(getInputFields()内)
如果我重复自己,我是否应该自动考虑制作一个新组件?例如在这种情况下是<Form> 组件并将getInputFields() 的值作为道具传递给Form?
【问题讨论】: