输入'{domain:string;父级:字符串; }'不能分配给'string'.ts(2322)类型

时间:2020-09-16 18:36:33

标签: reactjs typescript

我是TS的新手,非常感谢您的阅读。 问题所在的行是:<this.RenderPostLink domain={r.domain} parent={r.parent} />,出现此错误。

    RenderImages = (): React.ReactElement => (
        <div className="results_wrapper">
            {this.state.results.map(r=>(
                <RenderPanel panelType={PanelType.large} title={r.domain+'.TheCommonVein.net'} preview={(openIt)=>(
                    
                    <div className="result" onClick={openIt} style={{ boxShadow: theme.effects.elevation8}}>
                        <img src={r.url} />
                    </div>
                )}>
                    <div className="panel_wrapper">
                        <div className="panel_content">{r.content}</div>
                        <img src={r.url} />
                        {console.log('wtf'+r.parent)}
                        <this.RenderPostLink domain={r.domain} parent={r.parent} />
                    </div>
                </RenderPanel>
            ))}
        </div>
    )

    RenderPostLink = (domain:string, parent:string) => {
        console.log(parent+domain)
        let url:string
        if(domain=='main'){
            url= 'http://thecommonvein.net/?page='+parent;
        } else {
            url = 'http://'+domain+'.thecommonven.net/?page='+parent;
        }
        return (
            <div>
                {url}
            </div>
        )
    }

1 个答案:

答案 0 :(得分:0)

RenderPostLink函数错误。 您将其定义为功能,但用作组件。第一个参数是带有道具的物体。 正确的方法是:

RenderPostLink = ({domain, parent} :{ domain:string, parent:string)) => ...