Tyler Mcginnis'in eğitimlerini takip ettim ve özellikle geçmişle birlikte tepki veren yönlendiriciyle bir başıma çarptım. Bu beni sadece olsaydı sadece görmek için aynen onun kodunu kopyalayarak sona erdi, ama hâlâ uygulamasıdırReact Router başarısız oldu 'geçmiş', undefined
Warning: React.createElement: type is invalid -- expected a string (for built-
in components) or a class/function (for composite components) but got:
undefined. You likely forgot to export your component from the file it's
defined in.
Warning: Failed prop type: The prop `history` is marked as required in
`Router`, but its value is `undefined`. in Router
Uncaught TypeError: Cannot read property 'location' of undefined
at new Router (index_bundle.js:8347)
at index_bundle.js:19079
at measureLifeCyclePerf (index_bundle.js:18859)
at ReactCompositeComponentWrapper._constructComponentWithoutOwner (index_bundle.js:19078)
at ReactCompositeComponentWrapper._constructComponent (index_bundle.js:19064)
at ReactCompositeComponentWrapper.mountComponent (index_bundle.js:18972)
at Object.mountComponent (index_bundle.js:4070)
at ReactCompositeComponentWrapper.performInitialMount (index_bundle.js:19155)
at ReactCompositeComponentWrapper.mountComponent (index_bundle.js:19042)
at Object.mountComponent (index_bundle.js:4070)
alıyorum: Ben hashHistory
bulunmadığını fark etti ne
var React = require('react');
var ReactRouter = require('react-router');
var Router = ReactRouter.Router;
var Route = ReactRouter.Route;
var hashHistory = ReactRouter.hashHistory;
var IndexRoute = ReactRouter.IndexRoute;
var Main = require('../components/Main');
var Home = require("../components/Home");
var PromptContainer = require('../containers/PromptContainer');
var routes = (
<Router history={hashHistory}>
<Route path='/' component={Main}>
<IndexRoute component={Home} />
<Route path='playerOne' header='Player One' component={PromptContainer} />
<Route path='playerTwo/:playerOne' header='Player Two' component={PromptContainer} />
</Route>
</Router>
);
module.exports = routes;
react-router
modülünde, ancak history
modülünde createBrowserHistory
vardır. O bir createBrowserHistory is not a function
hata üretir yapmak
var BrowserHistory = require('history/createBrowserHistory);
const history = createBrowserHistory();
: buldum API doc ardından, ben orada aracılığıyla çağırmalıdır düşündüm. Parantezin kaldırılması, tarihin belirtildiği gibi aynı hatalarla sonuçlanır undefined
.
Geçmişi günlüğe kaydettiğimde, kesinlikle tanımlanmamıştır, bu da sorunun içe aktarma ifadesiyle ilgili olduğuna inanıyor, ancak konsolun bana ReactRouter.hashHistory
bulunamadığı söylenemez mi?
Bu öğreticinin bir yıllık olduğunu ve muhtemelen farkında olmadığım API'da değişiklikler olduğunu anlıyorum ve sorunum burada yatıyor. Herhangi bir yardım takdir edilir!
Bu öğreticiyi tamamlamak için v3'e geri dönüyorum, sonra v4 API'ye geçeceğim, ancak bu değişikliklerin yapıldığını bilmek güzel. Bunu cevap olarak işaretleyeceğim, başkalarının görebileceği, teşekkürler! – JoeDahle
Birden çok yol hata veriyor: "Yakalanmayan Hata: yalnızca bir alt öğeye sahip olabilir". Bunu nasıl düzeltebilirim? –
olefrank
@olefrank, yönlendiricinin hangi sürümü? [Bu size yardımcı olabilir] (https://github.com/ReactTraining/react-router/issues/4131), yönlendiricide 'Switch' etiketi ile bir cevap var. – Nicholas