Asp.net mvc 如何在ReactJS.NET中使用React钩子?
我们目前正在将前端从jQuery迁移到Reactjs.NET。我们正在使用React 16.8,它允许我们使用React挂钩而不是类 我们成功地设置了我们的项目,并首先使用类和服务器端渲染进行了尝试,效果很好,但我的团队使用了React钩子。我尝试使用Webpack+Babel来传输.jsx文件,因为它不再使用razor helperAsp.net mvc 如何在ReactJS.NET中使用React钩子?,asp.net-mvc,react-hooks,es6-modules,server-side-rendering,reactjs.net,Asp.net Mvc,React Hooks,Es6 Modules,Server Side Rendering,Reactjs.net,我们目前正在将前端从jQuery迁移到Reactjs.NET。我们正在使用React 16.8,它允许我们使用React挂钩而不是类 我们成功地设置了我们的项目,并首先使用类和服务器端渲染进行了尝试,效果很好,但我的团队使用了React钩子。我尝试使用Webpack+Babel来传输.jsx文件,因为它不再使用razor helper@Html.React(),但我的组件仍然会出现相同的错误 我们使用的是Asp.NET4.x和NETFramework4.7 这是我的视图children.csht
@Html.React()
,但我的组件仍然会出现相同的错误
我们使用的是Asp.NET4.x和NETFramework4.7
这是我的视图children.cshtml
@Html.React("ChildrenForm", new {
familyTiesId = Model.FamilyTiesId
},
serverOnly:true
)
这是我的ReactConfig.cs:
namespace Nop.Web
{
public static class ReactConfig
{
public static void Configure()
{
// If you want to use server-side rendering of React components,
// add all the necessary JavaScript files here. This includes
// your components as well as all of their dependencies.
// See http://reactjs.net/ for more information. Example:
ReactSiteConfiguration.Configuration
.AddScript("~/Scripts/Components/Customer/ChildrenForm.jsx");
JsEngineSwitcher.Current.DefaultEngineName = V8JsEngine.EngineName;
JsEngineSwitcher.Current.EngineFactories.AddV8();
}
}
}
我的组成部分:
import React, { useState, useEffect } from 'react';
const ChildrenForm = (props) => {
const [ familyTiesId, setFamilyTiesId ] = useState(props.familyTiesId);
...
}
它应该会起作用,但我得到的是:
SyntaxError: Unexpected identifier
Line 20: @Html.React("ChildrenForm", new {
Line 21: ddtl = Model.DDTL,
Line 22: listFamilies = Model.ListFamilies,
...
[JsCompilationException: SyntaxError: Unexpected identifier
at ChildrenForm.jsx:6:8 -> import React, { useState, useEffect } from 'react';]
JavaScriptEngineSwitcher.V8.V8JsEngine.InnerExecute(String code, String documentName) +258
React.ReactEnvironment.EnsureUserScriptsLoaded() +548
使用razor helper@Html.React和服务器端渲染时,似乎无法导入文件
如何在服务器端渲染时导入并使用React钩子?不必导入,只需使用:
const[familyTiesId,setFamilyTiesId]=React.useState(props.familyTiesId)代码>
直接调用useState
,而不是导入