Skip to content

Commit 7a1f4c6

Browse files
committed
fix events api snippet, remove dupe "events" variable
1 parent 6255e20 commit 7a1f4c6

File tree

1 file changed

+25
-20
lines changed
  • src/pages/[platform]/build-a-backend/data/connect-event-api

1 file changed

+25
-20
lines changed

src/pages/[platform]/build-a-backend/data/connect-event-api/index.mdx

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ Before you begin, you will need:
4040
- An Event API created via the AWS Console
4141
- Take note of: HTTP endpoint, region, API Key
4242

43-
```ts
43+
```tsx title="src/App.tsx"
44+
import type { EventsChannel } from 'aws-amplify/data';
4445
import { useState, useEffect } from 'react';
4546
import { Amplify } from 'aws-amplify';
4647
import { events } from 'aws-amplify/data';
@@ -56,41 +57,45 @@ Amplify.configure({
5657
},
5758
});
5859

59-
export default function MyComponent() {
60-
const [events, setEvents] = useState<any[]>([]);
60+
export default function App() {
61+
const [myEvents, mySetEvents] = useState<unknown[]>([])
6162

6263
useEffect(() => {
63-
let channel;
64+
let channel: EventsChannel
65+
console.log("use effect running")
6466

6567
const connectAndSubscribe = async () => {
66-
channel = await events.connect('default/channel');
68+
channel = await events.connect("default/channel")
6769

6870
channel.subscribe({
6971
next: (data) => {
70-
console.log('received', data);
71-
setEvents(prev => [data, ...prev]);
72+
console.log("received", data)
73+
mySetEvents((prev) => [data, ...prev])
7274
},
73-
error: (err) => console.error('error', err),
74-
});
75+
error: (err) => console.error("error", err),
76+
})
7577
}
7678

77-
connectAndSubscribe();
79+
connectAndSubscribe()
7880

79-
return () => channel && channel.close();
80-
}, []);
81+
return () => channel && channel.close()
82+
}, [])
8183

8284
async function publishEvent() {
83-
await events.post("default/channel", {some: 'data'});
85+
console.log("publishing ")
86+
await events.post("default/channel", { some: "data" })
8487
}
8588

8689
return (
87-
<button onClick={publishEvent}>Publish Event</button>
88-
<ul>
89-
{events.map((event) => (
90-
<li>{JSON.stringify(event)}</li>
91-
))}
92-
</ul>
93-
);
90+
<>
91+
<button onClick={publishEvent}>Publish Event</button>
92+
<ul>
93+
{myEvents.map((event, index) => (
94+
<li key={index}>{JSON.stringify(event)}</li>
95+
))}
96+
</ul>
97+
</>
98+
)
9499
}
95100
```
96101

0 commit comments

Comments
 (0)