我正在使用javascriptreact,由于某种原因,我遇到了奇怪的令牌错误。

这是发生错误的代码:

renderNavBar() {
        if (!this.userHash) {
            return server_1.default.renderToString(React.createElement(navComponent.navBarNoUser, null));
        }
    }


打字稿:

renderNavBar() {
        if (!this.userHash) {
            return ReactDOMServer.renderToString(<navComponent.navBarNoUser />);
        }
    }


如果我注释掉return ReactDOMServer行,则没有错误。为什么会发生此错误?

我还通过jslint传递了该函数,但没有遇到此问题。

谢谢!

最佳答案

因为React Component的名称必须为大写。

尝试

renderNavBar() {
        if (!this.userHash) {
            return ReactDOMServer.renderToString(<NavComponent.NavBarNoUser />);
        }
    }


将navComponent的名称更改为NavComponent,navBarNoUser => NavBarNoUser

10-07 18:08