使用" addItem"时应用className

时间:2017-06-05 01:55:38

标签: javascript reactjs

我正在使用addItem向另一个组件的列表添加值

我将其添加到this.state.movies。看来,它已应用了非活动/ noresults className

如何确定哪些样式应用于尚未出现的项目(即使用addItem)?感谢

在Codesandbox上的完整示例就在这里。在列表中添加movie,您会看到它应用了st:https://codesandbox.io/s/3OGK2pP9

我添加项目的父组件

<CreateNew addItem={item => this.setState({ movies: [{ name: item.value.name, genres: item.genres }].concat( movies, ), })} />

创建项目的子组件

class CreateNew extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      value: '',
      genres: '',
    };
  }
  handleSubmit1 = (e, value) => {
    e.preventDefault();
    this.props.addItem(this.state);
  };
  onChange = e => {
    this.setState({
      value: { name: e.target.value },
      genres: [{ name: 'Test', type: 1 }, { name: 'Foo', type: 10 }],
    });
  };
  render() {
    const { value, genres } = this.props;
    return (
      <form onSubmit={this.handleSubmit1}>
        Add a new movie
        <input onChange={this.onChange} value={value} type="text" />
        <button type="submit">Add</button>
      </form>
    );
  }
}

1 个答案:

答案 0 :(得分:0)

与我的const x上的过滤相关,而不是我的州this.state.movies

我将它从const filteredResults = andFilter({x}, Object.keys(selectedFilters));更改为`const filteredResults = andFilter({this.state.movi​​es},Object.keys(selectedFilters));