小编Nas*_*sto的帖子

在具有两个存储的mapStateToProps中未定义Redux状态

我有两个React应用程序,每个都有自己的Redux存储(在ASP.Net Core内部,但我认为这无关紧要)。我发现两个应用程序之间有很多重复的代码,因此我Ui.Common为两个项目之间的共享代码创建了一个项目。在此范围内,我介绍了commonStore两个应用程序各自使用的以及各自的商店。根据文档,我commonStore在其自己的React-Context上初始化,并且在connect需要时调用调用相同的上下文commonStore。对于商店的初始化,我这样做:

const store = ReduxStore.configureStore(history);
const commonStore = CommonStore.configureStore();
ReactDOM.render(
    <Provider store={store}>
        <Provider store={commonStore} context={CommonContext}>
            <ConnectedRouter history={history} children={routes} />
        </Provider>
    </Provider>,
    document.getElementById('react-app')
);
Run Code Online (Sandbox Code Playgroud)

配置为 CommonStore

public configureStore() {
    const windowIfDefined = typeof window === 'undefined' ? null : window as any;
    // If devTools is installed, connect to it
    const devToolsExtension = windowIfDefined && windowIfDefined.__REDUX_DEVTOOLS_EXTENSION__ as () => StoreEnhancer;
    const createStoreWithMiddleware = compose(devToolsExtension ? devToolsExtension() : <S>(next: StoreEnhancerStoreCreator<S>) => …
Run Code Online (Sandbox Code Playgroud)

typescript redux react-redux

13
推荐指数
1
解决办法
253
查看次数

'asp-src-include'无法解析文件

我正在使用ASP.Net Core,打字稿,React和Webpack构建一个Webapp。叫做Ui.WebApp。React应用位于,Ui.WebApp/ClientAppwebpack构建输出到Ui.WebApp/ClientApp/dist。在我中,Startup.cs我包括了

app.UseStaticFiles(new StaticFileOptions {
        FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "ClientApp/dist"))
    }
);
Run Code Online (Sandbox Code Playgroud)

那是有效的,即当我加载样式时_Layout.cshtml<link rel="stylesheet" href="~/main.css" asp-append-version="true" type="text/css" />实际位于其中)Ui.WebApp/ClientApp/dist/main.css。它也适用于我包含为的脚本<script src="~/main.js"></script>

现在,我需要使用名称中的哈希值(即)在webpack中构建脚本main_968495a262da1789981f.js。ASP.Net中的模式是使用<script asp-src-include="~/main_*.js"></script>。但是,从浏览器查看页面时,没有生成的脚本标记,因为我假设ASP.Net找不到与该模式匹配的任何文件(但是我可以在文件浏览器中看到它)。

奇怪的是,当我手动将散列的js文件放入Ui.WebApp/wwwroot(否则我不使用)时,脚本标记正确填充。当我删除文件夹并刷新页面时,他们甚至都呆在那里。

因此,我假设ASP.Net在编译时验证了标记帮助器,因此看不到我在中进行的配置Startup.cs

有什么方法可以使ASP.Net在运行时验证标记助手并选择正确的位置?

webpack tag-helpers asp.net-core asp.net-core-tag-helpers

6
推荐指数
1
解决办法
131
查看次数