Afrikaans
Akan
Albanian
Amharic
Arabic
Armenian
Azerbaijani
Basque
Belarusian
Bemba
Bengali
Bihari
Bosnian
Breton
Bulgarian
Cambodian
Catalan
Cebuano
Cherokee
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Corsican
Croatian
Czech
Danish
Dutch
English
Esperanto
Estonian
Ewe
Faroese
Filipino
Finnish
French
Frisian
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hausa
Hawaiian
Hebrew
Hindi
Hmong
Hungarian
Icelandic
Igbo
Indonesian
Interlingua
Irish
Italian
Japanese
Javanese
Kannada
Kazakh
Kinyarwanda
Kirundi
Kongo
Korean
Krio (Sierra Leone)
Kurdish
Kurdish (Soranรฎ)
Kyrgyz
Laothian
Latin
Latvian
Lingala
Lithuanian
Lozi
Luganda
Luo
Luxembourgish
Macedonian
Malagasy
Malay
Malayalam
Maltese
Maori
Marathi
Mauritian Creole
Moldavian
Mongolian
Myanmar (Burmese)
Montenegrin
Nepali
Nigerian Pidgin
Northern Sotho
Norwegian
Norwegian (Nynorsk)
Occitan
Oriya
Oromo
Pashto
Polish
Portuguese (Brazil)
Portuguese (Portugal)
Punjabi
Quechua
Romanian
Romansh
Runyakitara
Russian
Samoan
Scots Gaelic
Serbian
Serbo-Croatian
Sesotho
Setswana
Seychellois Creole
Shona
Sindhi
Sinhalese
Slovak
Slovenian
Somali
Spanish
Spanish (Latin American)
Sundanese
Swahili
Swedish
Tajik
Tamil
Tatar
Telugu
Thai
Tigrinya
Tonga
Tshiluba
Tumbuka
Turkish
Turkmen
Twi
Uighur
Ukrainian
Urdu
Uzbek
Vietnamese
Welsh
Wolof
Xhosa
Yiddish
Yoruba
Zulu
The problem here is that,
on the single meetup page,
we do specify which meetup pages should be pre-generated,
and we only set this at build time and never thereafter.
And since we set fallback to false,
we also ensure that any requests to meetups,
for which no page was pre-generated before,
will fail.
Now that worked as long as we didn't add a new meetup,
and it worked during development,
because there the getStaticPaths function ran
for every incoming request,
but it now fails after deployment.
Now fixing it is quite simple though, thankfully.
We can set fallback to true, or even better, to 'blocking'.
When you set fallback to true or to blocking,
you're telling NextJS that the list of paths
which you're specifying here, might not be exhaustive,
there might be more valid pages.
And, therefore, when fallback is set to true or to blocking,
NextJS will not respond with a 404 page
if it can't find the page immediately.
Instead with fallback set to true or blocking,
it will then generate that page on demand,
and thereafter cache it,
so it will pre-generate it when needed.
Now the difference between true and blocking then is that,
with true, it would immediately return an empty page,
and then pull down the dynamically generated content
once that's done.
So you need to handle that case
that the page does not have the data yet.
With blocking, the user will not see anything until
the page was pre-generated,
and the finished page will be served.
And that's the approach I will use here,
since it doesn't require any other extra work from our side.
So if we change fallback to blocking,
we'll not face this problem anymore.
Now we just need to redeploy this.
And for this, all we have to do is create
a new code snapshot with git add,
and then with git commit,
where we say, "fixed fallback", or something like this,
and then simply push our branch again,
push our repository back onto GitHub.
And the great thing is that NextJS will actually watch
this main branch to which we pushed,
and whenever it detects a change there,
it will automatically start building and redeploying.
As you can see here, it's building already again.
So that's very convenient.
If you want to update your page and redeploy,
all you have to do is create a new commit and push it
to your connected GitHub repository,
and that will then automatically trigger a redeployment.
And whilst it's redeploying,
your old page will stay up and running.
But once it's done, the new page will take over,
and hence, now this meetup exists here.
And if we add another meetup here
with this image, and our test address, and some test text.
If we do this, now our change should also be in effect.
And if we now reload the starting page
a couple of times to revalidate it,
if we now visit this meetup,
it's created on the fly and does all the works.
And that is also something, which I wanted to show you,
especially combined with that redeployment feature,
which is also something you should know.
Now, there is, of course, more you can do.
You can connect a custom domain here,
and you can also configure more in your project.
There are more features, which you can add as well,
but I mentioned this before already.
There are simply more things, which you could add.
This tutorial, however, had the goal of giving you
an overview of the most important features and,
therefore, we're now finished with that.
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.