I've been banging my head against the wall trying to get this to work, any advice? I'm using react with flow here. I am having quite a fight understand this code annotation stuff and i am learning at the same time. At first it was overwhelming but after i spent some time on google searching for anything remotely close i've hit a dead end. help?
//@flow
import React, { Component } from 'react';
import ShowCard from './ShowCard';
import Header from './Header';
type Props = {
shows: Array<Show>
};
type State = {
searchTerm: " "
};
class Search extends Component<Props, State> {
handleSearchTermChange = (Event: SyntheticKeyboardEvent<KeyboardEvent> & { currentTarget: HTMLInputElement }) => {
//this.setState({ searchTerm: event.currentTarget.value });
const newState = this.setState({ searchTerm: Event.currentTarget.value });
return newState;
};
render() {
return (
<div className="search">
<Header searchTerm={this.state.searchTerm} showSearch handleSearchTermChange={this.handleSearchTermChange} />
<div>
{this.props.shows
.filter(
show =>
`${show.title} ${show.description}`.toUpperCase().indexOf(this.state.searchTerm.toUpperCase()) >= 0
)
.map(show => <ShowCard key={show.imdbID} {...show} />)}
</div>
</div>
);
}
}
export default Search;