Я думаю, что это синтаксис. Вам необходимо закрыть скобку в .then(response=>response.json()
componentDidMount() {
fetch("http://localhost:3001/login")
.then(response=>response.json()) // <-Insert a close bracket here
.then(data=> this.setState({profileinfo:data[0].firstname}, () => console.log(this.state.profileinfo)) // <- Call console in callback
) // <- Remove one here
console.log(this.state.profileinfo)
}
и вызвать консоль в функции обратного вызова, чтобы получить правильное значение. Потому что setState
является асинхронной функцией.
$("#your-table-id").empty();
Это - то, с такой скоростью, как Вы добираетесь.
Здесь я вижу две проблемы:
Методы jQuery empty () и remove () на самом деле вполне немного работы. См. Профилирование вызовов функций JavaScript Джона Резига , чтобы узнать почему.
Другое дело, что для больших объемов табличных данных вы можете рассмотреть библиотеку сетки данных, такую как превосходные DataTables , чтобы загрузить данные на лету с сервера, увеличивая количество сетевых вызовов, но уменьшая размер этих вызовов. У меня была очень сложная таблица с 1500 строками, которая работала довольно медленно, при переходе на новую таблицу на основе AJAX эти данные выглядели довольно быстро.
если вы хотите удалить только быстро .. вы можете сделать как показано ниже ..
$( "#tableId tbody tr" ).each( function(){
this.parentNode.removeChild( this );
});
, но в таблице могут быть элементы с привязкой к событиям,
в этом случае
приведенный выше код не предотвращает утечку памяти в IE ... TT и не быстро в FF ...
извините ....