Функция не работает на событие onClick в React.js

Один из возможных вариантов заключается в том, чтобы перенести это на заводский метод вместо использования конструктора.

После этого ваш заводский метод может вернуть Task<ServiceProvider>, что позволит вам выполнить инициализацию асинхронно, но не возвращать сконструированные ServiceProvider до тех пор, пока ImportantValue не будет (асинхронно) вычисляться.

Это позволит вашим пользователям писать код наподобие:

var sp = await ServiceProvider.CreateAsync();
int iv = sp.ImportantValue; // Will be initialized at this point
0
задан user11066242 7 March 2019 в 08:23
поделиться

2 ответа

В компоненте Button измените

const{onclick,className='',children}=props;

на

const{onClick,className='',children}=props;

Также кажется, что вы не установили список в состоянии, поэтому при попытке доступа к this.state.list. Фильтр выдаст ошибку.

onDismiss=(id)=>{    
  const deleteList=this.state.result.hits.filter(item=>item.objectID!==id);    
  this.setState({
  result:{...this.state.result,hits:deleteList}
})  

}

0
ответ дан Muljayan 7 March 2019 в 08:23
поделиться

Ваша кнопка должна быть слегка изменена:

<button onClick={onClick} className={className} >{children}</button>

Обработчик должен ссылаться на переданные реквизиты, которые являются this.props.onClick, а не this.props.onclick (который вы имели).

Ошибка, с которой вы сталкиваетесь, может быть исправлена ​​путем изменения файла App.js:

onDismiss = id => {
  if (id) {
    const deleteList = this.state.list.filter(item => item.objectID !== id);
    // setting state of list to lastest deleteList
    this.setState({
      result:deleteList
    }) 
  }
}
0
ответ дан rrd 7 March 2019 в 08:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: