const title = React.createElement(
'h1',
{id:'title',className:'header'},
'Hello World'
)
ReactDOM.render(
title,
document.getElementById('react-container')
)
最初的回答: 当我向DOM中添加一个带有“hello world”的标题时,它不起作用。但是当我添加react cdn时(标题被添加),它就起作用了。在我已经在laravel中安装了react之后,我是否仍需要包含cdn?或者我做错了什么?我在网上搜索过,但对我来说有点复杂,我无法理解。有人能帮帮我吗?
这是我在Laravel Blade中的全部代码:
@extends('BaseLayouts.body')
@section('main_body')
<link rel="stylesheet" href="{{asset('css\app.css')}}" />
<script src="{{asset('js\app.js')}}"></script>
<script>
window.onload = function () {
const title = React.createElement(
'h1',
{id:'title',className:'header'},
'Hello World'
)
ReactDOM.render(
title,
document.getElementById('react-container')
)
};
</script>
<div id="react-container"></div>
@endsection
在一个教程中,我看到有一个React的示例文件添加到了js文件夹中,但是在我的情况下并没有这样的文件。
当我将脚本写在一个单独的文件中时,phpStorm会检测到React,但对于React.createElement
,phpStorm会显示unresolved function or method
。
最初的回答:
您可以尝试使用npm安装React,并确保正确引入相关的js文件。如果仍然存在问题,可以尝试重启IDE或清除缓存。如果仍然无法解决,请检查您的代码是否存在语法错误或其他引用问题。
app.js
中并进行转译。这样,你可以做一些像import * as React from 'react'
这样的事情,以便得到转译后的 React 并包含在你的捆绑文件中。 - apokryfos