Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何制作;“全球”;变量在Laravel辅助程序和视图中可用?_Reactjs_Laravel_Laravel Blade_Server Side Rendering - Fatal编程技术网

Reactjs 如何制作;“全球”;变量在Laravel辅助程序和视图中可用?

Reactjs 如何制作;“全球”;变量在Laravel辅助程序和视图中可用?,reactjs,laravel,laravel-blade,server-side-rendering,Reactjs,Laravel,Laravel Blade,Server Side Rendering,我正在开发一个Laravel应用程序,我正在过渡到使用微前端(-like?)方法进行反应。我在Laravel中定义了一个helper函数,它接收组件名和道具数组,并输出服务器端呈现的HTML。然后在需要的地方在视图中调用此函数 我的应用程序中的每个页面都定义了一些变量,这些变量可能会影响这些组件和刀片模板的呈现。因此,我在视图中定义变量,并通过一个全局窗口变量将它们发送到JavaScript land。但是我也需要SSR助手中的这些变量 现在我有两个关于如何做到这一点的想法: 在每次调用my h

我正在开发一个Laravel应用程序,我正在过渡到使用微前端(-like?)方法进行反应。我在Laravel中定义了一个helper函数,它接收组件名和道具数组,并输出服务器端呈现的HTML。然后在需要的地方在视图中调用此函数

我的应用程序中的每个页面都定义了一些变量,这些变量可能会影响这些组件和刀片模板的呈现。因此,我在视图中定义变量,并通过一个全局
窗口
变量将它们发送到JavaScript land。但是我也需要SSR助手中的这些变量

现在我有两个关于如何做到这一点的想法:

  • 在每次调用my helper函数时,将变量作为道具传递给my helper函数。我希望避免这种情况,因为变量在整个请求生命周期以及所有@include和@extends中都不会改变
  • 在渲染视图之前,使用
    config
    helper设置值。这似乎有点单薄,因为我认为
    config
    应该与更多的“静态”值一起使用(适用于整个应用程序,而不是特定页面),但我对Laravel world不是很熟悉,所以这实际上可能是可以接受的
  • 所以现在我更倾向于2,但我想知道是否有更好的选择

    一些代码:

    my-template.blade.php

    //这些是我想在助手中访问的变量
    @扩展('master.index'[
    “\u页面\u配置”=>[
    “页面”=>“博客”,
    “标题”=>[“搜索”=>true]
    ]
    ]);
    @节(“内容”)
    @include('some-template.that也有.ssr组件')
    {!!ssr('blog/blog',[“posts”=>$posts])
    @端部
    
    master/index.blade.php

    
    @如果($\页面\配置[“标题”])
    {!!ssr('header/header')!!}
    @恩迪夫
    @产量(‘含量’)
    //在这里,我将变量传递给(客户端)jsland
    window.\u PAGE\u CONFIG=@json($\u PAGE\u CONFIG);
    
    my-SSR-helper.php

    函数ssr($component,$props=[])){
    /*
    这里我调用一个节点服务器或脚本来为我处理渲染,
    但是我想传递它$\u PAGE\u CONFIG,它在每个页面中都是不同的。
    我可以在模板中的每个ssr调用中传递它,但这是我想要避免的
    因为这个函数可能在@include/@extend链中被多次调用
    而且$\u PAGE\u配置在任何一个页面中都不会更改
    (但对于不同的页面可能会有所不同)。
    */
    }
    
    如果每个页面总是获得相同的值,那么您应该在配置的某处设置一个数组,其中键是页面,值是收到的道具。顺便说一句,你会得到:

    函数ssr($component,$page,$props=[])){
    $pageProps=config('somewhere..$page);
    }
    
    如果每个页面总是获得相同的值,那么您应该在配置的某处设置一个数组,其中键是页面,值是收到的道具。顺便说一句,你会得到:

    函数ssr($component,$page,$props=[])){
    $pageProps=config('somewhere..$page);
    }
    
    我很高兴看到人们使用micro前端在像Laravel这样的非javascript框架中对服务器端渲染做出反应

    我建议你看看这篇文章。Ara框架也支持React,我认为服务器端包含方法是克服刀片限制的最佳选择

    本文可以为您提供有关此方法如何工作的上下文。

    我很高兴看到人们使用微型前端在像Laravel这样的非javascript框架中对服务器端渲染做出反应

    我建议你看看这篇文章。Ara框架也支持React,我认为服务器端包含方法是克服刀片限制的最佳选择

    本文可以为您提供有关此方法如何工作的上下文。

    我不需要为所有视图提供全局通用值,我需要从全局可用的视图中创建一个值。我不习惯SSR,请发布一些代码示例以了解您的上下文?如果您构建JS文件,您可以使用Laravel mix注入一些环境变量。在原始postOk中添加了一些最小的示例,关于这些变量,它们是在同一页面上动态的还是每次都有相同的值?每个页面每次都有相同的值,它们只在页面之间不同。我不需要为所有视图提供一个全局通用值,我需要从全局可用的视图中提供一个值。我不习惯SSR,请发布一些代码示例以了解您的上下文?如果您构建JS文件,您可以使用Laravel mix来注入一些环境变量。在原始postOk中添加了一些最小的示例,关于这些变量,它们是在同一页面上动态的还是每次都有相同的值?每个页面每次都有相同的值,它们只在页面之间不同