reactjs – ¿por que una petición funciona con ajax y no con react(fetch)?

Estoy tratando de realizar una petición con el método proporcionado por parte de react que es el método fetch el cual al realizar la petición regresa el siguiente mensaje.

CORS Preflight Did Not Succeed

Solicitud de origen cruzado bloqueada: La política de mismo origen (Same Origin Policy) no permite la lectura de recursos remotos en (URLBack)

pero al realizar la petición desde una pagina de prueba utilizando AJAX funciona sin problema alguno.

¿por que sucede esto y que solución se puede dar para estos casos?

La intención es no utilizar AJAX y también hacer lo que sea mas seguro, claro saber el por que con uno funciona y no con el otro.