Alert.js
import React from 'react';
export const Alert = ({ alert }) => {
return (
alert !== null && (
<div className={`alert alert-${alert.type}`}>
<i className='fas fa-info-circle'></i> {alert.msg}
</div>
)
);
};
Search.js
static propTypes = {
searchUsers: PropTypes.func.isRequired,
clearUsers: PropTypes.func.isRequired,
showClear: PropTypes.bool.isRequired,
setAlert: PropTypes.func.isRequired,
};
onSubmit = (e) => {
e.preventDefault();
if (this.state.text === '') {
this.props.setAlert('Please enter something', 'light');
} else {
this.props.searchUsers(this.state.text);
this.setState({ text: '' });
}
};
App.js
// Set Alert
setAlert = (msg, type) => {
this.setState({ alert: { msg, type } });
setTimeout(() => this.setState({ alert: null }), 5000);
};
<Alert alert={this.state.alert} />
<Search
searchUsers={this.searchUsers}
clearUsers={this.clearUsers}
showClear={users.length > 0 ? true : false}
setAlert={this.setAlert}
/>