Существует несколько способов задать вопрос:
1) Если общий fn c является функцией stati c (независимо от компонента). Вам следует создать общий файл утилит. js, а затем экспорт, функция импорта , куда вы хотите
// utils.js
export function updateForm() { }
// MyformOne.js
import {updateForm} from './utils';
// Use fnc updateForm() in MyFormOne component
2) Если общий fn c зависит от компонента класса, вы должны использовать шаблон проектирования в React: HO C (компонент более высокого порядка) или рендеринг Props для совместного использования кода (состояний, функций) между компонентами React (визуализация вашего код более абстрактный => хорошая практика для многоразового использования)
class BaseForm extends React.Component {
constructor(props) {
super(props);
this.state = {
a1 : "",
a2 : "",
}
}
// example : share the func updateForm of Baseform
updateForm = () => {}
render() {
return (
<div>
{/*
use the `render` prop to dynamically determine what to render.
*/}
{this.props.render(this.state, this.updateForm)}
</div>
);
}
}
class WithBaseForm extends React.Component {
render() {
return (
<div>
<BaseForm render={(stateBaseForm, updateForm) => (
<MyFormOne stateBaseForm={stateBaseForm} updateForm={updateForm}/> // so MyFormOne could use the fnc updateForm of BaseForm
)}/>
</div>
);
}
}
Для более подробной информации просмотрите ссылку:
https://en.reactjs.org/docs/render-props.html
https://en.reactjs.org/docs/higher-order-components.html