generated from sikleber/aws-cdk-react-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
RestApiButton.tsx
34 lines (29 loc) · 822 Bytes
/
RestApiButton.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import React, { ReactElement } from 'react'
import './Main.css'
import axios from 'axios'
const baseUrl = process.env.REST_API_ENDPOINT
if (!baseUrl) {
throw new Error('Missing environment variable REST_API_ENDPOINT')
}
interface RestApiButtonProps {
updateMessage: (message: string) => void
}
const RestApiButton: React.FunctionComponent<RestApiButtonProps> = ({
updateMessage
}): ReactElement => {
const callRestApi = async (): Promise<void> => {
try {
const response = await axios.get<string>(`${baseUrl}/hello`)
updateMessage(response.data)
} catch (e) {
console.error(e)
updateMessage('Failed to call the REST API')
}
}
return (
<button className='api-button' onClick={() => callRestApi()}>
Call REST API
</button>
)
}
export default RestApiButton