У меня есть компонент с кнопкой и 2 functions.Button компонент, используемый в различных компонентах. И для некоторых нужна одна функция для события onclick, для другой - вторая. Как изменить функции для события onclick? Я использую this answer, но всегда получаю неопределенность в моих компонентах.Изменение функции onClick для компонента js?
export default class MyButtonComponent extends Component {
constructor(props) {
super(props);
propTypes: {
onClick: PropTypes.func
};
this.state = { loading: false, api_url: "http://localhost:8000" };
}
static get DefaultProps() {
return {
onClick: this.firstFunction(event)
}
}
firstFunction(){
/*some code*/
}
secondFunction(){
/*some code*/
}
render() {
return (
<LaddaButton
loading={this.state.loading}
onClick={this.props.onClick}
className='submit'
data-color="#eee"
data-style={SLIDE_UP}
data-spinner-size={30}
data-spinner-color="#ddd"
data-spinner-lines={12}
data-url={this.props.url}
>
Отправить
</LaddaButton>
);
}
И в другом компоненте:
<FormGroup>
<Col mdOffset={5} md={7}>
<MyButtonComponent onClick={this.secondFunction} data-url="someurl.com"></MyButtonComponent>
</Col>
</FormGroup>
Также попытался добавить
onClick={e => this.secondFunction(e)}
застегивать componentm но всегда получаю ошибку
_this2.secondFunction is not a function
является 'secondFunction', определенным в родительском компоненте, где определен'''? –
нет, группа форм из другого компонента, вторая функция, определенная в компоненте кнопки. –
'secondFunction' не должно быть определено в MyButtonComponent, оно должно быть определено в родительском компоненте –