reactjs - ReactJS - 使用 React Hooks 去抖动 - 引发我无法解决的错误。解析错误
问题描述
我正在使用这个:
https://dev.to/gabe_ragland/debouncing-with-react-hooks-jci
但是当我将它添加到我的 React 项目时,我遇到了这个问题:
第 4:20 行:导入模块“./BusNew”中的解析错误:JSX 属性只能分配一个非空表达式 (67:17) import/no-named-as-default
第 4:20 行:导入模块“./BusNew”中的解析错误:JSX 属性只能分配一个非空表达式 (67:17) import/no-named-as-default-member
这是我的代码:
import React, { Component, useState, useEffect } from 'react';
import useDebounce from './use-debounce';
export class BusNew extends Component {
return (
<div>
<input
placeholder="Search Marvel Comics"
onChange={e => setSearchTerm(e.target.value)}
/>
</div>
{isSearching && <div>Searching ...</div>}
{results.map(result => (
<div
key={result.id
>
<h4>{result.title}</h4>
))}
</div>
);
}
function Search() {
// State and setters for ...
// Search term
const [searchTerm, setSearchTerm] = useState('');
// API search results
const [results, setResults] = useState([]);
// Searching status (whether there is pending API request)
const [isSearching, setIsSearching] = useState(false);
// Debounce search term so that it only gives us latest value ...
// ... if searchTerm has not been updated within last 500ms
// As a result the API call should only fire once user stops typing
const debouncedSearchTerm = useDebounce(searchTerm, 500);
useEffect(
() => {
if (debouncedSearchTerm) {
setIsSearching(true);
searchCharacters(debouncedSearchTerm).then(results => {
setIsSearching(false);
// Filter out results with no thumbnail
const filteredResults = results.data.results.filter(
result => result.thumbnail.path.indexOf('image_not_available') === -1
);
setResults(filteredResults);
});
} else {
setResults([]);
}
},
[debouncedSearchTerm] // Only call effect if debounced search term changes
);
}
function searchCharacters(search) {
const apiKey = 'f9dfb1e8d466d36c27850bedd2047687';
return fetch(`https://gateway.marvel.com/v1/public/comics?apikey=${apiKey}&titleStartsWith=${search}`, {
method: 'GET'
}).then(r => r.json());
}
export default BusNew;
沙盒示例: https ://codesandbox.io/s/usedebounce-7byqd
感谢您的任何帮助!
解决方案
推荐阅读
- java - Java 枚举插入值
- javascript - 为什么我不能得到这个 var 的值?
- r - 游泳者生存图 ggplot_Events 按持续时间进行颜色编码
- scala - 凿子“枚举(UInt(),5)”失败
- javascript - 为什么我的 div 子元素的输入元素不可点击,而当我用按钮替换此输入时,该按钮是可点击的
- mysql - 如何使用“USING”关键字连接三个表并使用mysql语法显示
- typescript - 将孩子添加到 pixi.js sprite 会扭曲孩子的尺寸和位置
- python - 从python调用c++函数
- python - Python 脚本在通过终端运行时无法正常运行,但在 Jupyter 和 Visual Studio 中运行良好
- html - 为 iPhone 8 显示屏配置导航栏