窗口未定义

时间:2017-05-03 14:46:56

标签: javascript reactjs

我在我的项目中使用ReactJS,我想通过使用window.location.href来访问我当前的URL。当我使用window.location.href时,我得到一个错误,说窗口没有定义。

// --- REACT + CUSTOM-TAGS ---
const SampleApp = ({value}) => {
    // --- CUSTOM-SCRIPTS ---
    addMeta([
        {type: 'meta', content: {content: 'something'}},
        {type: 'link', content: {rel: 'http://link'}},
    ]);

    //Append the value from the URL
    const prId = "12512" //We can make it dynamic
    const url = window.location.href;//window,location.href;
    const id = url.substring(url.lastIndexOf('/') + 1);
    const output = id.replace(/[a-zA-Z=]/g, '');

    return (
        <div>
            <h1>Hello {value}</h1>
            <hr />
            <h2>{url} took from prId</h2>
            <hr />
            <h2><a className="redirect" href={'//www.check.com/prId/' + output} target="_blank">Click Here</a>
            </h2>
        </div>
    );
};

1 个答案:

答案 0 :(得分:0)

该位置位于道具中,因为窗口未在React中定义。

只需this.props.location.pathname代替window.location.href

如果您记录道具,请提供更多信息。