Check out example codes for "how to waitselenium webelement java". It will help you in understanding the concepts better.

Code Example 1

//required import
WebDriver driver = new ChromeDriver();
//											  Timeout in seconds
WebDriverWait wait = new WebDriverWait(driver, 15);

//Three most common explicit waits

//waits until the element is visible and can be clicked

//waits until the element is visible on the page somewhere i.e. pixels > 0

//waits until the element is removed from the page
//This one is helpful when moving from one page to another

//implicit wait will wait a set time, similar to Thread.sleep();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

//There is also a FluentWait, but I am unfamiliar with it

Learn ReactJs, React Native from