我正在跟随一个javascript教程,突然localhost:3000在我的About中做了一些更改后,除了一个白页之外什么都没有显示。jsx文件。
当我添加:
import { urlFor, client } from '../../client';
和
const [abouts, setAbouts] = useState([]);
useEffect(() => {
const query = '*[_type == "abouts"]';
client.fetch(query)
.then((data) => {
setAbouts(data);
})
}, []);
如果我撤消更改,每次添加一个更改后点击保存,就可以了。但是一旦所有这些都就位了,Chrome就不会显示任何东西了。
我试着在我的代码中添加一个错误,看看会发生什么,浏览器立即发现它显示为红色,所以显然它不是不工作。
知道发生了什么事吗?我也试过删除所有的cookie/浏览器历史记录/缓存,但没有运气。
编辑:现在进行了更多的测试,似乎真的是导入是罪魁祸首。我按照教程做了一遍,但有一件事让我感到困惑,那就是我没有名为client的文件夹。这是一个client.js文件在我的src文件夹,但这就是教程的家伙做了什么,到目前为止,在视频中它仍然为他工作,所以…仍然困惑。
我的client.js文件是这样的:
import sanityClient from '@sanity/client';
import imageUrlBuilder from '@sanity/image-url';
export const client = 'sanityClient'({
projectID: process.env.REACT_APP_SANITY_PROJECT_ID,
dataset: 'production',
apiVersion: '2022-02-01',
useCDN: true,
token: process.env.REACT_APP_SANITY_TOKEN
});
const builder = imageUrlBuilder(client);
export const urlFor = (source) => builder.image(source);
我发现了错误,现在我正在决定是高兴地跳还是直接跳进湖里,哈哈。
显然,如果你在应该写"投影"的时候写了"投影",这是一个大问题…!
谁知道!星期六快乐,大家:)
编辑:我不得不从
中删除"export const client = sanityClient({
我想过删除这个问题,因为我自己想出来了,但也许这将对其他人有一些帮助,所以我就留下了。