reactjs - 为什么我的 useState 不适用于我的 gatsby 网站?
问题描述
const IndexPage = () => {
const metaData = useStaticQuery(graphql`
query {
allMarkdownRemark {
edges {
node {
frontmatter {
name
}
html
}
}
}
site {
siteMetadata {
title
locations
profileIntroduction
}
}
}
`)
const [reviewsArray] = useState(
metaData.allMarkdownRemark.edges
)
const [currentReviewIndex, setCurrentReviewIndex] = useState(0)
const [currentReview] = useState(
reviewsArray[currentReviewIndex]
)
const increaseCurrentReview = () => {
setCurrentReviewIndex(1)
}
return (
<div>
<Layout>
<div
className='hero-image'
style={{
backgroundImage: `url(${heroImage1})`
}}>
<div className='home-hero-image-dark-cover'>
<div className='home-hero-image-header'>
{metaData.site.siteMetadata.title}
</div>
<div className='home-hero-image-header sub'>
{metaData.site.siteMetadata.locations}
</div>
</div>
</div>
<div className='about-section'>
<div className='about-section-image about-section-item'>
</div>
<div className='about-section-text about-section-item'>
<div className='about-section-header'>
{metaData.site.siteMetadata.title}
</div>
<p>
{metaData.site.siteMetadata.profileIntroduction}
</p>
</div>
</div>
<div className='client-testimonials-section'>
<div className='client-testimonials-section-dark-cover'>
<button id='left-arrow' className='left-arrow arrow'>
{'<'}
</button>
<div>
<div className='client-testimonials-section-header'>
Client Testimonials
</div>
<div
className='client-testimonials-section-header review'
dangerouslySetInnerHTML={{__html: currentReview.node.html}}
>
</div>
<div className='client-testimonials-section-header review'>
- {currentReview.node.frontmatter.name}
</div>
</div>
<button id='right-arrow'
className='right-arrow arrow'
onClick={increaseCurrentReview}>
{'>'}
</button>
</div>
</div>
如果它有所作为,我在控制台中也有一个错误:React-Hot-Loader: react--dom patch is not detected。React 16.6+ 的功能可能无法正常工作。否则我不知道为什么 useState 不能在这里工作。当然,我对 react 的 usestate 钩子不太熟悉,但一切似乎都在上升。
解决方案
推荐阅读
- javascript - 尝试使用 2 个参数创建命令
- mysql - MYSQL 我应该使用内连接来提取 Max Date 上的数据吗
- reactjs - 在 AWS 放大部署中公开的 React 源代码
- c# - INotifyPropertyChanged 用于位于 DLL 文件中的属性
- python - 文本 Python 循环
- python - 如何用连字符检查句子中的多个单词
- excel-addins - 用于自定义功能区选项卡的 Excel 加载项以包含来自 MSIP.ExcelAddin 的控件
- django - 更新 Django 中的大量外键引用
- authorization - 获取要分配给单个课程的令牌。- SAS 代币
- node.js - 将表单数据分配给 node.js 中的 postgres 池