我正在学习反应并试图使代码工作,即使用反应表和功能组件。示例代码根据输入的搜索关键字获取 git-hub 存储库列表,并使用 react-table 显示该列表
有两个问题
下面的编译失败,错误是找不到文件 import 'react-table/react-table.css';
如果我注释上面的行并运行 npm start,它会失败并出现以下错误
错误:元素类型无效:应为字符串(对于内置组件)或类/函数(对于复合组件),但得到:未定义。您可能忘记从定义组件的文件中导出组件,或者您可能混淆了默认导入和命名导入。
检查App
.
import React, { useState } from 'react';
import './App.css';
import ReactTable from "react-table";
import 'react-table/react-table.css';
function App() {
const [data, setData] = useState([]);
const [keyword, setKeyword] = useState('');
const columns = [{
Header: 'Name',
accessor: 'full_name'
}, {
Header: 'URL',
accessor: 'html_url'
}, {
Header: 'Owner',
accessor: 'owner.login'
}]
const fetchData = () => {
console.log(keyword);
const url = `https://api.github.com/search/repositories?q=${keyword}`;
fetch(url)
.then(response => response.json())
.then(responseData => {
setData(responseData.items);
})
}
const handleChange = (e) => {
setKeyword(e.target.value);
}
return (
<div className="App">
<input type="text" onChange={handleChange} />
<button onClick={fetchData} value={keyword} > fetch</button>
<ReactTable data={data} columns={columns} />
</div>
);
}
export default App;