Can't delete an element from my store and upgrade my componentredux-thunk dispatch method fires undefined actionHow to dispatch Redux action from stateless component when route is loaded?How can array state be changed?React-redux tutorial : Where does children come fromUsing props state in another state with reduxTypescript error on rendered component when using react-redux connect functionRedux - mapDispatchToProps - TypeError: _this.props.setCurrentUserHandle is not a functionActions are being passed to state object and the actions object is emptymapStateToProps() in Connect(EquipmentMetadata) must return a plain object. Instead received undefinedRedux - Deleting Item from State
What's the metal clinking sound at the end of credits in Avengers: Endgame?
Does jamais mean always or never in this context?
How can Republicans who favour free markets, consistently express anger when they don't like the outcome of that choice?
Need help understanding harmonic series and intervals
Reverse the word in a string with the same order in javascript
A non-technological, repeating, visible object in the sky, holding its position in the sky for hours
Minimum value of 4 digit number divided by sum of its digits
When to use 1/Ka vs Kb
Why does Bran Stark feel that Jon Snow "needs to know" about his lineage?
How to determine the actual or "true" resolution of a digital photograph?
What does "rf" mean in "rfkill"?
Why was Germany not as successful as other Europeans in establishing overseas colonies?
Does a creature that is immune to a condition still make a saving throw?
What are the spoon bit of a spoon and fork bit of a fork called?
Why does nature favour the Laplacian?
Is creating your own "experiment" considered cheating during a physics exam?
Morally unwholesome deeds knowing the consequences but without unwholesome intentions
Confusion about capacitors
Any examples of headwear for races with animal ears?
Packing rectangles: Does rotation ever help?
Binary Numbers Magic Trick
When did stoichiometry begin to be taught in U.S. high schools?
Build a trail cart
What's the polite way to say "I need to urinate"?
Can't delete an element from my store and upgrade my component
redux-thunk dispatch method fires undefined actionHow to dispatch Redux action from stateless component when route is loaded?How can array state be changed?React-redux tutorial : Where does children come fromUsing props state in another state with reduxTypescript error on rendered component when using react-redux connect functionRedux - mapDispatchToProps - TypeError: _this.props.setCurrentUserHandle is not a functionActions are being passed to state object and the actions object is emptymapStateToProps() in Connect(EquipmentMetadata) must return a plain object. Instead received undefinedRedux - Deleting Item from State
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
Here is my component i just list some elements
import React, Component from "react";
import connect from "react-redux";
import delFruit from "../../js/actions/index";
function mapDispatchToProps(dispatch)
console.log(dispatch);
return
delFruit: fruits => dispatch(delFruit(fruits))
;
const mapStateToProps = state =>
return fruits: state.fruits;
;
class ConnectedList extends Component
constructor()
super();
this.handleClick = this.handleClick.bind(this);
handleClick(el)
this.props.delFruit(el)
render()
// const fruits = this.state.fruits
return (
<div>
<div className="title">Liste des courses</div>
<ul className="list-group list-group-flush">
this.props.fruits.map((el, key) => (
<li key=key>
el.name <i>( el.price € )</i> <i className="delete" onClick=this.handleClick.bind(this, key)></i>
</li>
))
</ul>
</div>
);
const List = connect(mapStateToProps, mapDispatchToProps)(ConnectedList);
export default List;
When i want to delete an element i use this script
import ADD_FRUIT, DELETE_FRUIT, DOUBLE_FRUIT from "../constants/action-types";
import fruits from "../../data/fruits";
const initialState =
fruits: fruits['elements'],
;
function rootReducer(state = initialState, action)
if (action.type === ADD_FRUIT)
return Object.assign(, ,
fruits: state.fruits.concat(action.payload)
);
if (action.type === DELETE_FRUIT)
delete state.fruits[action.payload];
return Object.assign(, ,
fruits:state.fruits
);
if (action.type === DOUBLE_FRUIT)
return state;
export default rootReducer;
When i inspect the state of my component , the element is properly deleted (in example #2)
But my component does not remove it from the list
The only way i manage to make it work is doing this
return Object.assign(, ,
fruits:state.fruits.concat()
);
instead of
return Object.assign(, ,
fruits:state.fruits
);
- why my component is not updated without concat()
- How is the good way of doing it
- why my array keep a null value after deleting
reactjs react-redux components
add a comment |
Here is my component i just list some elements
import React, Component from "react";
import connect from "react-redux";
import delFruit from "../../js/actions/index";
function mapDispatchToProps(dispatch)
console.log(dispatch);
return
delFruit: fruits => dispatch(delFruit(fruits))
;
const mapStateToProps = state =>
return fruits: state.fruits;
;
class ConnectedList extends Component
constructor()
super();
this.handleClick = this.handleClick.bind(this);
handleClick(el)
this.props.delFruit(el)
render()
// const fruits = this.state.fruits
return (
<div>
<div className="title">Liste des courses</div>
<ul className="list-group list-group-flush">
this.props.fruits.map((el, key) => (
<li key=key>
el.name <i>( el.price € )</i> <i className="delete" onClick=this.handleClick.bind(this, key)></i>
</li>
))
</ul>
</div>
);
const List = connect(mapStateToProps, mapDispatchToProps)(ConnectedList);
export default List;
When i want to delete an element i use this script
import ADD_FRUIT, DELETE_FRUIT, DOUBLE_FRUIT from "../constants/action-types";
import fruits from "../../data/fruits";
const initialState =
fruits: fruits['elements'],
;
function rootReducer(state = initialState, action)
if (action.type === ADD_FRUIT)
return Object.assign(, ,
fruits: state.fruits.concat(action.payload)
);
if (action.type === DELETE_FRUIT)
delete state.fruits[action.payload];
return Object.assign(, ,
fruits:state.fruits
);
if (action.type === DOUBLE_FRUIT)
return state;
export default rootReducer;
When i inspect the state of my component , the element is properly deleted (in example #2)
But my component does not remove it from the list
The only way i manage to make it work is doing this
return Object.assign(, ,
fruits:state.fruits.concat()
);
instead of
return Object.assign(, ,
fruits:state.fruits
);
- why my component is not updated without concat()
- How is the good way of doing it
- why my array keep a null value after deleting
reactjs react-redux components
add a comment |
Here is my component i just list some elements
import React, Component from "react";
import connect from "react-redux";
import delFruit from "../../js/actions/index";
function mapDispatchToProps(dispatch)
console.log(dispatch);
return
delFruit: fruits => dispatch(delFruit(fruits))
;
const mapStateToProps = state =>
return fruits: state.fruits;
;
class ConnectedList extends Component
constructor()
super();
this.handleClick = this.handleClick.bind(this);
handleClick(el)
this.props.delFruit(el)
render()
// const fruits = this.state.fruits
return (
<div>
<div className="title">Liste des courses</div>
<ul className="list-group list-group-flush">
this.props.fruits.map((el, key) => (
<li key=key>
el.name <i>( el.price € )</i> <i className="delete" onClick=this.handleClick.bind(this, key)></i>
</li>
))
</ul>
</div>
);
const List = connect(mapStateToProps, mapDispatchToProps)(ConnectedList);
export default List;
When i want to delete an element i use this script
import ADD_FRUIT, DELETE_FRUIT, DOUBLE_FRUIT from "../constants/action-types";
import fruits from "../../data/fruits";
const initialState =
fruits: fruits['elements'],
;
function rootReducer(state = initialState, action)
if (action.type === ADD_FRUIT)
return Object.assign(, ,
fruits: state.fruits.concat(action.payload)
);
if (action.type === DELETE_FRUIT)
delete state.fruits[action.payload];
return Object.assign(, ,
fruits:state.fruits
);
if (action.type === DOUBLE_FRUIT)
return state;
export default rootReducer;
When i inspect the state of my component , the element is properly deleted (in example #2)
But my component does not remove it from the list
The only way i manage to make it work is doing this
return Object.assign(, ,
fruits:state.fruits.concat()
);
instead of
return Object.assign(, ,
fruits:state.fruits
);
- why my component is not updated without concat()
- How is the good way of doing it
- why my array keep a null value after deleting
reactjs react-redux components
Here is my component i just list some elements
import React, Component from "react";
import connect from "react-redux";
import delFruit from "../../js/actions/index";
function mapDispatchToProps(dispatch)
console.log(dispatch);
return
delFruit: fruits => dispatch(delFruit(fruits))
;
const mapStateToProps = state =>
return fruits: state.fruits;
;
class ConnectedList extends Component
constructor()
super();
this.handleClick = this.handleClick.bind(this);
handleClick(el)
this.props.delFruit(el)
render()
// const fruits = this.state.fruits
return (
<div>
<div className="title">Liste des courses</div>
<ul className="list-group list-group-flush">
this.props.fruits.map((el, key) => (
<li key=key>
el.name <i>( el.price € )</i> <i className="delete" onClick=this.handleClick.bind(this, key)></i>
</li>
))
</ul>
</div>
);
const List = connect(mapStateToProps, mapDispatchToProps)(ConnectedList);
export default List;
When i want to delete an element i use this script
import ADD_FRUIT, DELETE_FRUIT, DOUBLE_FRUIT from "../constants/action-types";
import fruits from "../../data/fruits";
const initialState =
fruits: fruits['elements'],
;
function rootReducer(state = initialState, action)
if (action.type === ADD_FRUIT)
return Object.assign(, ,
fruits: state.fruits.concat(action.payload)
);
if (action.type === DELETE_FRUIT)
delete state.fruits[action.payload];
return Object.assign(, ,
fruits:state.fruits
);
if (action.type === DOUBLE_FRUIT)
return state;
export default rootReducer;
When i inspect the state of my component , the element is properly deleted (in example #2)
But my component does not remove it from the list
The only way i manage to make it work is doing this
return Object.assign(, ,
fruits:state.fruits.concat()
);
instead of
return Object.assign(, ,
fruits:state.fruits
);
- why my component is not updated without concat()
- How is the good way of doing it
- why my array keep a null value after deleting
reactjs react-redux components
reactjs react-redux components
asked Mar 22 at 19:14
Loic HLoic H
315
315
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
You can delete that using spread operator. Here's a basic snippet showing how to do that.
const state =
fruits: [1,2,3]
const action =
index: 1
const newState = [
...state.fruits.slice(0, action.index),
...state.fruits.slice(action.index + 1)
];
console.log(newState);
So you can modify your code to:
if (action.type === DELETE_FRUIT)
return
...state,
fruits: [
...state.fruits.slice(0, action.payload),
...state.fruits.slice(action.payload + 1)
]
Thank you so much ! it worked like a charm, can you explain me why my code gave me that result ?
– Loic H
Mar 23 at 0:06
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
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%2f55306412%2fcant-delete-an-element-from-my-store-and-upgrade-my-component%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can delete that using spread operator. Here's a basic snippet showing how to do that.
const state =
fruits: [1,2,3]
const action =
index: 1
const newState = [
...state.fruits.slice(0, action.index),
...state.fruits.slice(action.index + 1)
];
console.log(newState);
So you can modify your code to:
if (action.type === DELETE_FRUIT)
return
...state,
fruits: [
...state.fruits.slice(0, action.payload),
...state.fruits.slice(action.payload + 1)
]
Thank you so much ! it worked like a charm, can you explain me why my code gave me that result ?
– Loic H
Mar 23 at 0:06
add a comment |
You can delete that using spread operator. Here's a basic snippet showing how to do that.
const state =
fruits: [1,2,3]
const action =
index: 1
const newState = [
...state.fruits.slice(0, action.index),
...state.fruits.slice(action.index + 1)
];
console.log(newState);
So you can modify your code to:
if (action.type === DELETE_FRUIT)
return
...state,
fruits: [
...state.fruits.slice(0, action.payload),
...state.fruits.slice(action.payload + 1)
]
Thank you so much ! it worked like a charm, can you explain me why my code gave me that result ?
– Loic H
Mar 23 at 0:06
add a comment |
You can delete that using spread operator. Here's a basic snippet showing how to do that.
const state =
fruits: [1,2,3]
const action =
index: 1
const newState = [
...state.fruits.slice(0, action.index),
...state.fruits.slice(action.index + 1)
];
console.log(newState);
So you can modify your code to:
if (action.type === DELETE_FRUIT)
return
...state,
fruits: [
...state.fruits.slice(0, action.payload),
...state.fruits.slice(action.payload + 1)
]
You can delete that using spread operator. Here's a basic snippet showing how to do that.
const state =
fruits: [1,2,3]
const action =
index: 1
const newState = [
...state.fruits.slice(0, action.index),
...state.fruits.slice(action.index + 1)
];
console.log(newState);
So you can modify your code to:
if (action.type === DELETE_FRUIT)
return
...state,
fruits: [
...state.fruits.slice(0, action.payload),
...state.fruits.slice(action.payload + 1)
]
const state =
fruits: [1,2,3]
const action =
index: 1
const newState = [
...state.fruits.slice(0, action.index),
...state.fruits.slice(action.index + 1)
];
console.log(newState);
const state =
fruits: [1,2,3]
const action =
index: 1
const newState = [
...state.fruits.slice(0, action.index),
...state.fruits.slice(action.index + 1)
];
console.log(newState);
answered Mar 22 at 19:49
HamedHamed
627115
627115
Thank you so much ! it worked like a charm, can you explain me why my code gave me that result ?
– Loic H
Mar 23 at 0:06
add a comment |
Thank you so much ! it worked like a charm, can you explain me why my code gave me that result ?
– Loic H
Mar 23 at 0:06
Thank you so much ! it worked like a charm, can you explain me why my code gave me that result ?
– Loic H
Mar 23 at 0:06
Thank you so much ! it worked like a charm, can you explain me why my code gave me that result ?
– Loic H
Mar 23 at 0:06
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.
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%2f55306412%2fcant-delete-an-element-from-my-store-and-upgrade-my-component%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