Assuming you are using a <video> element rather than a third-party video player (which usually comes with its own APIs that they document) you probably want to track some of the events that element supports.
Note that in React most events can be listened to using an on${eventName} prop, e.g. onEnded. Alternatively you can also use a ref to get access to the underlying DOM node and attach event listeners in your componentDidMount lifecycle method (make sure to remove them in componentWillUnmount to avoid memory leaks though).
However in the case of watching a video it's difficult to say when a video has been "watched" because you first need to define what that means. If you define it as "the end of the video has been reached", then you can just skip to the end of the video and it will be tracked as "watched". So the usual metric is something like "has been playing for N consecutive seconds" (e.g. most social media platforms consider a video playing for 10 seconds as having been watched).
Remember that this entirely depends on what is a good metric for your product. A good rule of thumb is something like "at least 80% of the duration of the video has been played in total" but note that this means viewers of a 100 second video can skip back and re-watch the same 10 second segment over and over again and still count as having "watched" that video if they do this 8 times although they've only viewed 10% of the entire video -- but these edge cases are usually not a real problem for most products.