const [data, setData] = useState({});
useEffect(() => {
const fetchData = async () => {
const result = await axios(
'https://hn.algolia.com/api/v1/search?query=redux', // await fetch('./db.json') ?
);
setData(result.data);
};
fetchData();
}, []);
getMovies = text => async () => { }
// другими словами ты возвращаешь async функцию
function getMovies(text) {
return async function() { }
}
// а надо так
getMovies = async text => {
try {
const URL = `https://api.tvmaze.com/search/shows?q=${text}`;
.....
renderPosts() {
if (this.state.error) {
return this.renderError();
}
return (
<ul>
{this.state.posts.map(post => (
<li key={post.show.id}>{post.show.name}</li>
))}
</ul>
);
}
Если запрос может оказать влияние на пользовательские данные, то простого запроса недостаточно. Вместо этого, предполентый CORS запрос отправляется в перед отправкой необходимого запроса, чтобы гарантировать безопасность отправки запроса. Предполетные запросы необходимы в тех случаях, когда любой HTTP метод, отличный от GET, POST, HEAD или если тип содержимого POST запроса отличен от application/x-www-form-urlencoded, multipart/form-data или text/plain. Также, если запрос содержит любые собственные заголовки, то необходим предполетный запрос.
// сверху вниз
if (scrollTop > targetOffset && sliderScrollLeft < sliderMaxScrollLeft) {
$window.scrollTop(targetOffset + 1); // +1 потому что иначе дрожит при перемотке
$slider.scrollLeft(sliderScrollLeft + horizontal_scrolling_speed);
}
// снизу вверх
if (scrollTop < targetOffset && sliderScrollLeft > 0) {
$window.scrollTop(targetOffset - 1);
$slider.scrollLeft(sliderScrollLeft - horizontal_scrolling_speed);
}
что возвращают методы
почему если мы возвращаем в методе up() this, то мы можем не писать заново
ladder.up()
// {step: 1, up: ƒ, down: ƒ, showStep: ƒ} один
ladder.up()
// {step: 2, up: ƒ, down: ƒ, showStep: ƒ} два
setTimeout( () => window.open('https://www.toster.ru', 'targetWindow',
`toolbar=no,
location=no,
status=no,
menubar=no,
scrollbars=yes,
resizable=yes,
width=400,
height=400`), 3000)
function fib(n, max){
let arr = [0, 1];
for (let i = 2; i < n + 1; i++){
const current = arr[i - 2] + arr[i -1]
if (current >= max) return arr[arr.length - 1] // последнее которое не больше max
arr.push(arr[i - 2] + arr[i -1])
}
return arr[n]
}
fib(20, 6700)
// 4181
// 20-е число Фиб это 6765, поэтому вернулось 19е