【发布时间】:2022-01-12 19:43:11
【问题描述】:
我在这里使用 react-router-dom 版本 6.0.2 并且“渲染”道具不起作用,每次我到达我的 Route 标签的路径中提到的 url 时,它总是向我抛出这个错误 - “位置“/addRecipe”的匹配叶路由没有元素。这意味着默认情况下它将呈现一个空值,从而导致一个“空”页面。”。有人可以帮我解决这个问题吗
import './App.css';
import Home from './components/Home';
import AddRecipe from './components/AddRecipe';
import items from './data';
import React, { useState } from 'react';
import {BrowserRouter as Router, Routes, Route} from 'react-router-dom';
const App = () => {
const [itemsList, setItemsList] = useState(items)
const addRecipe = (recipeToAdd) => {
setItemsList(itemsList.concat([recipeToAdd]));
}
const removeItem = (itemToRemove) => {
setItemsList(itemsList.filter(a => a!== itemToRemove))
}
return (
<Router>
<Routes>
<Route path="/addRecipe" render={ ({history}) => {
return (<AddRecipe onAddRecipe={(newRecipe) => {
addRecipe(newRecipe);
history.push('/');
} } />);
} } />
</Routes>
</Router>
);
}
export default App;
【问题讨论】:
-
您是否正确导出
AddRecipe.js中的组件类/函数?因为我的猜测是在您发布的脚本中,AddRecipe为空。错误消息只是由此产生的后果。
标签: javascript reactjs react-hooks react-router react-router-dom