【发布时间】:2021-06-17 11:11:18
【问题描述】:
我正在练习打字。对于 setAuthenticated(valueFromChild) 行,我有错误“类型 'void' 不能分配给类型 'boolean'”,并且“......不能分配给类型 'IntrinsicAttributes & { children?: ReactNode; }'。”对于我在这里将道具传递给子组件的所有地方(,)。如何修复错误?
import { FunctionComponent, useState } from 'react';
import { BrowserRouter, Switch, Route } from 'react-router-dom';
import Navbar from './Components/navbar.component';
import './App.css';
import { ThemeProvider } from '@material-ui/core/styles';
import theme from './Theme/theme';
import Login from './Components/login.component';
import Register from './Components/register.component';
const App: FunctionComponent = () => {
const [isAuthenticated, setIsAuthenticated] = useState<boolean>(false);
const handleAuth = (valueFromChild: boolean): boolean =>
setIsAuthenticated(valueFromChild);
return (
<ThemeProvider theme={theme}>
<BrowserRouter>
<Navbar isAuthenticated={isAuthenticated} />
<Switch>
<Route
exact
path="/login"
render={(props) => <Login {...props} handleAuth={handleAuth} />}
/>
<Route
exact
path="/register"
render={(props) => <Register {...props} handleAuth={handleAuth} />}
/>
</Switch>
</BrowserRouter>
</ThemeProvider>
);
};
export default App;
【问题讨论】:
标签: reactjs typescript react-router-dom