您好,我是新来的反应,并让自己困在这里,我的版本是v6,因此有一点问题的理解,我遵循udemy的教程
发生的错误是 - 函数作为 React 子函数无效。如果返回组件而不是从呈现中返回,则可能会发生这种情况。或者,也许您打算调用此函数而不是返回它。
这是在我家
class Dashboard extends Component {
constructor(props) {
super(props);
this.state = {
child: props.nestedRoute,
search: "",
};
}
componentDidMount() {
this.activeNav();
}
activeNav() {
const pathname = window.location.pathname;
const possibleRoutes = [
{ routes: "/dashboard", targetId: "home" },
{ routes: "/addProduct", targetId: "addProduct" },
{ routes: "/products", targetId: "products" },
{ routes: "/profile", targetId: "profile" },
];
possibleRoutes.forEach(({ route, targetId }) => {
window.jQuery(`#${targetId}`).removeClass("active");
if (route === pathname) {
window.jQuery(`#${targetId}`).addClass("active");
}
});
}
render() {
const Child = this.state.child
console.log(Child)
const { user } = this.props.auth;
return (
<div id="content-wrapper" className="d-flex flex-column">
<div id="content">
<nav className="navbar navbar-expand navbar-light bg-white topbar mb-44 static-top shadow">
<ul className="navbar-nav ml-auto">
<li className='nav-item dropdown no-arrow'>
<Link
className="nav-link dropdown-toggle"
to="#"
id="userDropdown"
role="button"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
>
<span className="mr-2 d-none d-lg-inline text-gray-600 small">
{user.name}
</span>
<Avatar size={40}>
{user.name && this.avatarText(user.name)}
</Avatar>
</Link>
<div
className="dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="userDropdown"
>
<Link className="dropdown-item" to="#">
<i className="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
Profile
</Link>
<Link className="dropdown-item" to="#">
<i className="fas fa-cogs fa-sm fa-fw mr-2 text-gray-400"></i>
Settings
</Link>
<Link className="dropdown-item" to="#">
<i className="fas fa-list fa-sm fa-fw mr-2 text-gray-400"></i>
Activity Log
</Link>
<div className="dropdown-divider"></div>
<Link
className="dropdown-item"
to="#"
onClick={this.logUserOut}
>
<i className="fas fa-sign-out-alt fa-sm fa-fw mr-2 text-gray-400"></i>
Logout
</Link>
</div>
</li>
</ul>
</nav>
<Child {...this.props} search={this.state.search} />
</div>
</div>
);
}
}
Dashboard.propTypes = {
auth: PropTypes.object.isRequired,
logout: PropTypes.func.isRequired,
};
const mapStateToProps = (state) => ({
auth: state.auth,
});
export default connect(mapStateToProps, { logout })(Dashboard);
我的App.js是这样的
function App(props) {
useEffect(() => {
store.dispatch(setCurrentUser())
}, [])
return (
<Provider store={store}>
<Router>
<Routes>
<Route exact path="/" element={<Landing/>} />
<Route exact path="/" element={<ProtectedRoute/>}>
<Route exact
path="/dashboard"
element={()=> (<Dashboard {...props} nestedRoute={Home} />)}
/>
<Route exact
path="/dashboard/addProduct"
element={()=> (<Dashboard {...props} nestedRoute={AddProduct} />)}
/>
</Route>
<Route exact path="/register" element={<Register/>} />
<Route exact path="/login" element={<Login/>} />
</Routes>
</Router>
</Provider>
);
}
在react路由器中使用render方法。
<Route exact
path="/dashboard/addProduct"
render={()=> <Dashboard {...props} nestedRoute={AddProduct} />}
/>
我有视图组件,它必须导入多个组件。这些组件将根据某些特定条件进行渲染。它应该如何工作是,我在页面上有3个按钮,例如,在我点击第一个按钮(文件上传)后,我需要渲染<代码> 警告:函数作为React子函数无效。如果您返回组件而不是从渲染中返回,可能会发生这种情况。或者您可能打算调用此函数而不是返回它。 这到底有什么问题?
以下是主要游戏.js和应用程序.js文件: 在game.js文件中,我在H1中使用了numPicker函数。现在我得到了这个错误: 警告:函数作为React子函数无效。如果您返回组件而不是从渲染中返回,可能会发生这种情况。或者您可能打算调用此函数而不是返回它。
我正在使用react redux,我使用无状态组件 错误 这是我的index.js 我的app.js 存储在另一个index.js文件里在一个叫Redux的文件夹里 我尝试过NewHOC,但我无法摆脱错误
[更新]在有人将其标记为重复之前,我发现答案有点模糊和简短 函数作为React子函数无效。如果返回组件而不是从渲染返回组件,则可能会发生这种情况 我有一个这样的反应组件 这是我的模态成分可能会导致问题 我在控制台中看到以下错误 函数作为React子函数无效。如果返回组件而不是从渲染返回组件,则可能会发生这种情况 [问题]有人能解释一下是什么导致了这个错误,因为有人投票并写了一条评论说负责的代码不在
问题内容: 我写了一个高阶组件: 我在我的App.js中使用以上内容: 但是,我得到的警告是: 警告:函数作为React子代无效。如果您从渲染返回一个Component而不是 ,则可能会发生这种情况。或者,也许您打算调用此函数而不是返回它。在应用程序的div(由应用程序创建)中的NewHOC(由应用程序创建)中 Movie.js文件为: 我究竟做错了什么? 问题答案: 您将其用作常规组件,但实际上
我是新手,我正在使用非官方的哈利波特api构建一个应用程序。 这是应用程序: 当我登录控制台时,来自API的JSON响应成功显示,但是我在渲染输出时遇到了问题。我正在使用Bulma进行前端样式。 这在我的app.js中 这是错误消息: 后端。js:6警告:函数作为React子函数无效。如果返回组件而不是从渲染返回组件,则可能会发生这种情况。或者你想调用这个函数而不是返回它。在p中(由HouseHi