React18报consider converting part of this to a Client Component

问题描述:

使用React18+NextJs13写个文件上传的demo,需要监听File input的onChang事件,启动的时候报:

If you need interactivity, consider converting part of this to a Client Component.

解决方法:

Next13 app目录下的组件默认都是server side的, 但onChange是需要在Client Side处理的也就是在浏览器上处理,所以需要声明组件是client side的,怎么声明呢?搜索了白天最后找到Next的官方文档就一句话: 在文件的开头写上

'use client'

就这看来还需要先看下官方文档啊:

'use client'

function handleImageChange(e) {

console.log(e);

console.log(this);

}

export default function ImagePath() {

return (

<div className="space-y-6">

<input type="file" onChange={(e) => handleImageChange(e)}/>

</div>

);

}

猜你喜欢

转载自blog.csdn.net/tianlangstudio/article/details/127989643