收到错误尝试使用ReactJS.Net服务器端带有EPiServer渲染时

问题描述 投票:1回答:1

我试图建立服务器端在EPiServer项目中使用ReactJS.Net渲染。为了做到这一点,我使用提供ReactJS.Net的Html extention做我的渲染,但是,当我跑我的网站

我得到一个错误说:“ReactJS.NET尚未正确初始化请确定您已经称为services.AddReact()和app.UseReact()在你的Startup.cs文件。”

如果我试图使用服务器渲染扩展试图来与正常渲染交换

我得到一个不同的错误:“TinyIoCResolutionException:无法解析类型:React.Web.BabelHandler”。

我认为,根本的问题是,有在EPiServer项目是如何在初始化启动VS香草净MVC项目的事情有些区别,但我不确定什么区别是什么或如何解决它。

我与React.Web.Mvc4 V4.0.0 NuGet包,Episerver 11,和.NET Framework 4.6.2工作。我把我想呈现相同的组件,并粘贴成不EPiServer香草净MVC项目,它可以正确显示,客户端和使用扩展服务器端,所以该组件是不是问题。我发现一些说,这个错误通常出现反应过来的时候还是ReactDOM不暴露在全球范围内,所以我将它设置,以确保我的反应成分被添加到全球范围内,但没有运气有两种。

这里是我的ReactConfig:

public static void Configure()
{
    JsEngineSwitcher.Current.DefaultEngineName = V8JsEngine.EngineName;
    JsEngineSwitcher.Current.EngineFactories.AddV8();

    ReactSiteConfiguration.Configuration
        .AddScript("~/Static/js/Components/PrimaryCallout.jsx");
}

这里是我的组件:

class PrimaryCallout extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            header: this.props.header,
            buttonText: this.props.buttonText,
            buttonLink: this.props.buttonLink
        };
    }

    render() {
        return (
            <div className="primary-callout-container">
                <h2 className="primary-callout-header">{this.state.header}</h2>
                <a href={this.state.buttonLink} className="primary-callout-link">
                    <button className="primary-callout-button">{this.state.buttonText}</button>
                </a>
            </div>
        );
    }
}

这里是我正在努力使我的组件:

@Html.React("PrimaryCallout", new
{
    header = Model.Header,
    buttonText = Model.CalloutLinkText,
    buttonLink = Url.ContentUrl(Model.CalloutLink)
})

任何和所有帮助或洞察力的赞赏。

谢谢。

javascript reactjs episerver
1个回答
0
投票

经过大量挖周围的我确定我是有通天确实问题不发生反应。该阵营未初始化错误扼杀了真正的问题。我没有它缩小到什么在我的巴别塔的设置是错误的,但我重新做了我的捆绑和缩小的设置,现在我回来了启动和运行。

采取此为别人的教训是,如果你看到这个“ReactJS.NET尚未正确初始化。请确保您有人称services.AddReact()和app.UseReact()在你的Startup.cs文件。”错误,那么看的更深一些,因为它可能扼杀错误消息的真正问题。

© www.soinside.com 2019 - 2024. All rights reserved.