Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:01,120 --> 00:00:08,080
Now that we have our form input component, we also want a button component that's custom.
2
00:00:08,920 --> 00:00:09,340
Now.
3
00:00:10,310 --> 00:00:17,840
This button is also going to be a presentational component similar to our form input, and the reason
4
00:00:17,840 --> 00:00:27,170
why we're building them as their own component is so that this component can be used in any other component
5
00:00:27,170 --> 00:00:32,840
that might need consistent input styling that we have across our application.
6
00:00:33,470 --> 00:00:34,980
So what do I mean by this?
7
00:00:35,570 --> 00:00:43,640
Well, up until this point, we've pretty much limited all of our styling for our titles and our menu
8
00:00:43,640 --> 00:00:53,810
items and our collection items all in this or whichever respective component that they're in.
9
00:00:54,440 --> 00:00:58,910
So any styling for the homepage sits in the home page style.
10
00:00:59,010 --> 00:01:01,310
Scozzafava, but now.
11
00:01:02,380 --> 00:01:07,840
We're running into components that we know are going to be reused across the application.
12
00:01:09,050 --> 00:01:15,140
So if we look at our final application, we see that we're going to use the button in our Sinon, we're
13
00:01:15,140 --> 00:01:20,450
going to use the button in our sign up, and we're also going to use our form input across both the
14
00:01:20,450 --> 00:01:21,880
sign and the sign up.
15
00:01:22,310 --> 00:01:29,420
So limiting our form input styles to just the Sinon would cause us to have to repeat that same style
16
00:01:29,420 --> 00:01:32,260
code inside of our sign up as well.
17
00:01:32,960 --> 00:01:34,390
But we don't want to do that.
18
00:01:34,610 --> 00:01:38,930
We want to make components that we can reuse across our application.
19
00:01:39,740 --> 00:01:43,980
And even our button is used in more than just our Sinon page.
20
00:01:44,180 --> 00:01:51,290
We know it's going to be used inside of our checkout and we see that this is actually inversed.
21
00:01:51,800 --> 00:01:56,330
So it's going to have to be a pretty flexible button, including in our shop.
22
00:01:56,330 --> 00:01:57,770
We use something similar as well.
23
00:01:58,880 --> 00:02:00,710
So how are we going to build this?
24
00:02:01,820 --> 00:02:11,570
Well, first, let's just start with building our sign button for our sign in page will add the functionality
25
00:02:11,600 --> 00:02:19,040
as we require it, because this way it allows us to re-evaluate and properly consider the tradeoffs
26
00:02:19,040 --> 00:02:21,350
of how we should build our button.
27
00:02:22,570 --> 00:02:24,370
So let's go back to our component.
28
00:02:26,000 --> 00:02:31,100
And let's add in this new custom button component.
29
00:02:34,340 --> 00:02:39,470
And let's just make custom button component such as sex.
30
00:02:40,900 --> 00:02:42,280
And custom button.
31
00:02:43,690 --> 00:02:45,160
Styles, Dot says.
32
00:02:47,520 --> 00:02:48,750
We'll import react.
33
00:02:49,690 --> 00:02:53,920
From react or import in our story.
34
00:02:57,010 --> 00:03:04,480
And then we're just going to export a stateless functional component called custom button.
35
00:03:08,130 --> 00:03:11,220
And it's just going to render a button component.
36
00:03:14,810 --> 00:03:20,480
And then we're going to attach the styling to our custom button class name.
37
00:03:21,440 --> 00:03:21,830
Now.
38
00:03:23,070 --> 00:03:30,210
You might wonder if this is a button, but in our actual Sinon component, we were using an input to
39
00:03:30,210 --> 00:03:32,940
do our HTML form submission.
40
00:03:33,970 --> 00:03:39,490
How would it continue to work if we switched it to a button wall for both button and input, they can
41
00:03:39,490 --> 00:03:45,970
both take this property of type submit and they can both submit the form that they're in.
42
00:03:46,000 --> 00:03:53,920
They'll both trigger when clicked if they have the type, submit the on submit method on our form.
43
00:03:55,040 --> 00:04:02,330
So what we want to do is we want to be able to pass that in, so what we'll do is we'll first pull the
44
00:04:02,330 --> 00:04:08,360
children off of our props that get passed into our custom button, and then we're going to d structure
45
00:04:08,360 --> 00:04:16,250
all the other props into this other props property and spread that into our custom button.
46
00:04:19,779 --> 00:04:26,680
Now, if we have a type submit being passed into custom button, the button will get that and then we'll
47
00:04:26,680 --> 00:04:29,650
put children inside of our button component.
48
00:04:30,560 --> 00:04:33,470
And now if we export our custom button.
49
00:04:35,720 --> 00:04:42,200
And then we add in our custom button styles, which I have provided right here.
50
00:04:45,890 --> 00:04:50,690
We can now import our custom button into our component.
51
00:04:55,210 --> 00:04:57,310
And replace this input with it.
52
00:05:01,330 --> 00:05:07,600
Now, instead of doing a value here because we have children, we're just going to put a sign in like
53
00:05:07,600 --> 00:05:07,930
so.
54
00:05:10,240 --> 00:05:12,280
And now we have our button.
55
00:05:14,280 --> 00:05:18,170
There's a little bit of styling we need to add to our sign and component itself.
56
00:05:19,650 --> 00:05:24,510
And what we will do is we will go to our sign and styles.
57
00:05:26,070 --> 00:05:27,600
And we're just going to add.
58
00:05:29,130 --> 00:05:30,450
A display Fleck's.
59
00:05:32,140 --> 00:05:40,080
A flex direction of Collum, because we want all of our elements inside of our Sinon to sit vertically.
60
00:05:42,090 --> 00:05:49,110
And then we're also going to add a bit of a margin between our title, so we're going to put margin
61
00:05:49,110 --> 00:05:50,460
of 10 pixels.
62
00:05:51,630 --> 00:05:52,830
On the top, in the bottom.
63
00:05:54,850 --> 00:06:02,830
And now we have air, our Sinon component, so next we're going to start integrating with Firebase.
64
00:06:03,820 --> 00:06:06,640
And that is going to be a really exciting lesson.
6181
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.