繁体   English   中英

打字稿类型错误属性不存在

[英]Typescript type error property does not exist

我的 Typescript Next 项目中有这个组件


import PageTitle from './pagetitle'
import style from './contact.styl'
export default function Contact() {
  return (
    <section>
      <a name="contact"></a>
      <div className={style.container}>
    <PageTitle title='get in touch!'/>
        <form action="">
          <input name="name" type="text" placeholder="name" />
          <input name="subject" type="text" placeholder="subject" />
          <textarea placeholder="message" />
          <button type="submit">send</button>
        </form>
      </div>
    </section>
  );
}

这就是contact.styl样子,它是一个使用 Stylus CSS PreProcessor 的 CSS 文件,因此样式的拼写没有错别字。 我最近使用“next-env.d.ts”文件中的模块声明修复了一个错误

.container
    width 95vw
    height 90vh
    display flex
    flex-direction column
    background rgba(43,43,43,.97)
    border-radius 60px
    margin 0 auto
    h3
        font-size 22px
        color #d3ecf7
form
    height 450px
    display flex
    flex-direction column
    justify-content space-evenly
    align-items center
    margin-top 3rem
    input, textarea
        width 355px
        box-shadow 0px 3px 6px #00000029
        border-radius 13px
        outline none
        border none
        background #2b2b2b
        font normal normal 300 20px Avenir
        padding-top 5px
        text-align center
        color #fff
    input
        height 45px
    textarea
        height 200px
        resize none
    ::placeholder
        text-align center
        font normal normal 300 20px Avenir
        color #d3ecf7
@media(max-width 760px)
    .container
        width 100vw
        height auto
        border-radius 0
            
    form
        height 500px
        margin-top 0 
        input, textarea
            width 90vw

但我一直收到这个错误?

Type error: Property 'container' does not exist on type 'string'.

谁能帮我弄清楚为什么?

编辑:添加contact.styl

想通了问题

Try to add an asterisk to the module name as in the updated example. **- Sergey**

似乎您在声明.d.ts文件中的某处有一个模块声明。 它可能看起来像这样:

declare module ".styl" {
  const value: string;
  export default value;
}

如果这是正确的,您应该将导出类型更改为Record<string, string> 像这样:

declare module "*.styl" {
  const value: {[key: string]: string};
  export default value;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM