setting state with previous state and regex
up vote
0
down vote
favorite
I don´t understand how this code works. How does it set the state using the regex? And most importantly, how does it know to set the state using the result variable?
handleClick(evt)
const id = evt.target.id;
const result = evt.target.value;
this.setState(prevState => (
value: `$prevState.value$result`
.replace(/([/+-/*=])([/+-*=])/g, "$2")
.replace(/^0+(?=[1-9])/, "")
.replace(/^0+(?=.)/, "0")
.replace(/^0+B/, "")
));
}
javascript reactjs
add a comment |
up vote
0
down vote
favorite
I don´t understand how this code works. How does it set the state using the regex? And most importantly, how does it know to set the state using the result variable?
handleClick(evt)
const id = evt.target.id;
const result = evt.target.value;
this.setState(prevState => (
value: `$prevState.value$result`
.replace(/([/+-/*=])([/+-*=])/g, "$2")
.replace(/^0+(?=[1-9])/, "")
.replace(/^0+(?=.)/, "0")
.replace(/^0+B/, "")
));
}
javascript reactjs
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I don´t understand how this code works. How does it set the state using the regex? And most importantly, how does it know to set the state using the result variable?
handleClick(evt)
const id = evt.target.id;
const result = evt.target.value;
this.setState(prevState => (
value: `$prevState.value$result`
.replace(/([/+-/*=])([/+-*=])/g, "$2")
.replace(/^0+(?=[1-9])/, "")
.replace(/^0+(?=.)/, "0")
.replace(/^0+B/, "")
));
}
javascript reactjs
I don´t understand how this code works. How does it set the state using the regex? And most importantly, how does it know to set the state using the result variable?
handleClick(evt)
const id = evt.target.id;
const result = evt.target.value;
this.setState(prevState => (
value: `$prevState.value$result`
.replace(/([/+-/*=])([/+-*=])/g, "$2")
.replace(/^0+(?=[1-9])/, "")
.replace(/^0+(?=.)/, "0")
.replace(/^0+B/, "")
));
}
javascript reactjs
javascript reactjs
edited Nov 20 at 12:05
Martijn Pieters♦
693k12924002237
693k12924002237
asked Nov 10 at 3:38
user10564511
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
accepted
So this code do the following:
1. Concatenate prevState.value
and evt.target.value
into single string (learn more about ES6 Template literals)
2. Replace all combinations like ++
, +-
, +*
, +=
, -+
, --
, -*
, -=
, *+
, *-
, **
, *=
, =+
, =-
, =*
, ==
to it's second character (but I think there is error in the code, replace statement should be ([+-*=])([+-*=])
, learn more about regex)
3. Remove from string all number, that start with 0, like 0009
, 01
, etc.
4. Remove all words, that start with 0, like 0a
, 0000z
, etc.
5. Remove all 0
from string (learn more about B)
6. Set result string to the state.value
(learn more about React setState())
Thanks. Whats going me some trouble Is the concatenate bit.
– user10564511
Nov 10 at 5:14
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
accepted
So this code do the following:
1. Concatenate prevState.value
and evt.target.value
into single string (learn more about ES6 Template literals)
2. Replace all combinations like ++
, +-
, +*
, +=
, -+
, --
, -*
, -=
, *+
, *-
, **
, *=
, =+
, =-
, =*
, ==
to it's second character (but I think there is error in the code, replace statement should be ([+-*=])([+-*=])
, learn more about regex)
3. Remove from string all number, that start with 0, like 0009
, 01
, etc.
4. Remove all words, that start with 0, like 0a
, 0000z
, etc.
5. Remove all 0
from string (learn more about B)
6. Set result string to the state.value
(learn more about React setState())
Thanks. Whats going me some trouble Is the concatenate bit.
– user10564511
Nov 10 at 5:14
add a comment |
up vote
0
down vote
accepted
So this code do the following:
1. Concatenate prevState.value
and evt.target.value
into single string (learn more about ES6 Template literals)
2. Replace all combinations like ++
, +-
, +*
, +=
, -+
, --
, -*
, -=
, *+
, *-
, **
, *=
, =+
, =-
, =*
, ==
to it's second character (but I think there is error in the code, replace statement should be ([+-*=])([+-*=])
, learn more about regex)
3. Remove from string all number, that start with 0, like 0009
, 01
, etc.
4. Remove all words, that start with 0, like 0a
, 0000z
, etc.
5. Remove all 0
from string (learn more about B)
6. Set result string to the state.value
(learn more about React setState())
Thanks. Whats going me some trouble Is the concatenate bit.
– user10564511
Nov 10 at 5:14
add a comment |
up vote
0
down vote
accepted
up vote
0
down vote
accepted
So this code do the following:
1. Concatenate prevState.value
and evt.target.value
into single string (learn more about ES6 Template literals)
2. Replace all combinations like ++
, +-
, +*
, +=
, -+
, --
, -*
, -=
, *+
, *-
, **
, *=
, =+
, =-
, =*
, ==
to it's second character (but I think there is error in the code, replace statement should be ([+-*=])([+-*=])
, learn more about regex)
3. Remove from string all number, that start with 0, like 0009
, 01
, etc.
4. Remove all words, that start with 0, like 0a
, 0000z
, etc.
5. Remove all 0
from string (learn more about B)
6. Set result string to the state.value
(learn more about React setState())
So this code do the following:
1. Concatenate prevState.value
and evt.target.value
into single string (learn more about ES6 Template literals)
2. Replace all combinations like ++
, +-
, +*
, +=
, -+
, --
, -*
, -=
, *+
, *-
, **
, *=
, =+
, =-
, =*
, ==
to it's second character (but I think there is error in the code, replace statement should be ([+-*=])([+-*=])
, learn more about regex)
3. Remove from string all number, that start with 0, like 0009
, 01
, etc.
4. Remove all words, that start with 0, like 0a
, 0000z
, etc.
5. Remove all 0
from string (learn more about B)
6. Set result string to the state.value
(learn more about React setState())
answered Nov 10 at 4:51
baitun
150110
150110
Thanks. Whats going me some trouble Is the concatenate bit.
– user10564511
Nov 10 at 5:14
add a comment |
Thanks. Whats going me some trouble Is the concatenate bit.
– user10564511
Nov 10 at 5:14
Thanks. Whats going me some trouble Is the concatenate bit.
– user10564511
Nov 10 at 5:14
Thanks. Whats going me some trouble Is the concatenate bit.
– user10564511
Nov 10 at 5:14
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53235803%2fsetting-state-with-previous-state-and-regex%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown