好的,所以我加载根网址。应该呈现一个帖子列表,相反,我得到了臭名昭着的React错误......
Warning: Functions are not valid as a React child. This may happen if you return a Component instead of <Component /> from render. Or maybe you meant to call this function rather than return it.
index.js和app.js似乎可以正确呈现。我相信故障出在PostList组件,也许是render方法?我知道解决方法可能很简单,但我看不出来。
index.js
7
8 ReactDOM.render(
9 <React.StrictMode>
10 <HashRouter>
11 <App />
12 </HashRouter>
13 </React.StrictMode>,
14 document.getElementById('root')
15 );
16
17
18
19
20 reportWebVitals();
应用.js
8
9 class App extends React.Component {
10
11 constructor() {
12 super();
13 this.state = {
14 posts: []
15 };
16 }
17
18 componentDidMount() {}
19
20 render() {
21 return (
22 <div className="container">
23 <h1>hello world</h1>
24 <Routes>
25 <Route exact path='/' element={PostList} />
26 <Route path='/post/:id' element={Post} />
27 </Routes>
28 </div>
29 );
30 }
31 }
32
33 export default App;
post-list.js
5
6 class Post extends React.Component {
7 constructor() {
8 super();
9 this.state = {
10 title: '',
11 content: ''
12 };
13 }
14
15 componentDidMount() {
16 let api = new Api();
17
18 api.posts(this.props.match.params.id).then(data => {
19 this.setState({
20 title: data.title.rendered,
21 content: data.content.rendered
22 });
23 });
24 }
25
26 render() {
27 let post = this.state;
28 return (
29 <div className='row'>
30 <h3>{post.title}</h3>
31 <div dangerouslySetInnerHTML={{__html: post.content}} />
32 </div>
33 );
34 }
35 }
36
37 class PostList extends React.Component {
38 constructor() {
39 super();
40 this.state = {
41 posts: []
42 };
43 }
44
45 componentDidMount() {
46 let api = new Api();
47
48 api.posts().then(data => {
49 this.setState({
50 posts: data
51 });
52 });
53 }
54
55 render() {
56 let posts = this.state.posts.map((post, index) =>
57 <h3 key={index}>
58 <Link to={`/post/${post.id}`}>{post.title.rendered}</Link>
59 </h3>
60 );
61
62 return (
63 <div>{posts}</div>
64 );
65 }
66 }
67
68 export {Post, PostList}
显然,您在配置路由时遇到了问题
您可以在 React 路由器的文档中查看配置路由的部分 https://reactrouter.com/docs/en/v6/getting-started/overview
尝试将app.js文件中第25行和第26行的PostList和Post替换如下
<Route exact path='/' element={<PostList/>} />
<Route path='/post/:id' element={<Post/>} />
我已经更新了我的路由器,以接受第二条主要路线。 当我在我的应用程序中导航到“/manager”时,我得到一个错误: 警告:函数作为React子级无效。如果您返回一个组件而不是从render返回,可能会发生这种情况。或者你想调用这个函数而不是返回它。在未知(由RouterContext创建)在路由器的RouterContext(由路由器创建)中 // AdminContainer.js //User
问题内容: 是否可以通过C语言函数API或通过使用其中将回调函数作为参数的参数在Postgres中创建用户定义的函数? 据我所知,没有办法通过C语言API来执行此操作,因为它仅接受sql数据类型,而没有的数据类型。但是也许我想念什么? 问题答案: 我认为您不能,但是由于没有匿名函数,因此应该传递函数名。
在组件的呈现函数中,我有: 所有内容都显示良好,但单击 元素时,我会收到以下错误: 未捕获得错误:不变冲突:对象作为React子级无效(找到:具有键得对象{dispatchConfig,dispatchMarker,nativeEvent,target,currentTarget,type,eventPhase,bubbles,cancelable,timeStamp,defaultPrevent
在我的快速路由中,我正在尝试传递一个要在渲染函数中使用的组件,该组件处理 SSR。 快速路线: 渲染助手: 错误: “警告:函数作为React子函数无效。如果您返回组件而不是从渲染中返回,可能会发生这种情况。或者您可能打算调用此函数而不是返回它。” 我已经看过的东西包括下面的这个答案,但是我不确定如何将这样一个函数封装在提供者组件中(我是这么认为的)? 函数作为React子函数无效。如果返回组件而
我是React新手,在Hooks的帮助下,我正在React中开发简单的CRUD应用程序。< br >该应用程序有两个表单组件< code>AddUserForm和< code>EditUserForm,它们相应地添加和编辑用户列表。还有一个显示用户列表的组件(但是我没有得到警告)。< br >一切正常,但是我的浏览器控制台中出现以下警告消息:< br>