Stefan Willebrand has an extensive work experience spanning over two decades. Stefan began their career in 1998 as the Owner and Chairman of Willebrand Group AB. In 2007, they became the Chairman of AG Bokforing. In 2010, they founded and became the CEO and Co-founder of Bricknode. In 2011, they founded Willebrand Invest AB and Swedish Credit Group, and became the Owner and Chairman of Financial Hosting Solutions Sweden AB. In 2015, they founded LendyTech and Kreditbörsen Sverige AB, and became a Partner/Advisor of Co-owning. In 2018, they founded Untie Group AB and became the Founder and CIO, with the mission to make the world of finance more oriented towards humans and their needs.
import React, { Component } from 'react';
import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';
import { fetchWeather } from '../actions/index';
class SearchBar extends Component {
constructor(props) {
super(props);
this.state = { term: '' };
this.onInputChange = this.onInputChange.bind(this);
this.onFormSubmit = this.onFormSubmit.bind(this);
}
onInputChange(event) {
this.setState({ term: event.target.value });
}
onFormSubmit(event) {
event.preventDefault();
// We need to go and fetch weather data
this.props.fetchWeather(this.state.term);
this.setState({ term: '' });
}
render() {
return (
<form onSubmit={this.onFormSubmit} className="input-group">
<input
placeholder="Get a five-day forecast in your favorite cities"
className="form-control"
value={this.state.term}
onChange={this.onInputChange}
/>
<span className="input-group-btn">
<button type="submit" className="btn btn-secondary">Submit</button>
</span>
</form>
);
}
}
function mapDispatchToProps(dispatch) {
return bindActionCreators({ fetchWeather }, dispatch);
}
// null because we don't need mapStateToProps
export default connect(null, mapDispatchToProps)(SearchBar);
Links
Sign up to view 7 direct reports
Get started