相关文章推荐
呐喊的乌冬面  ·  Spring ...·  1 年前    · 
虚心的牛肉面  ·  Oops!!! - 简书·  1 年前    · 
腼腆的黑框眼镜  ·  java - Behaviour of ...·  1 年前    · 
精明的铁链  ·  WiFiAvailableNetwork.B ...·  1 年前    · 
Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

First click on item console log item inside arr. Second click returns error uncaught type error includes is not a function. And console log arr is 1.

Chrome browser

constructor(props){
super(props)
this.state = {
  arr = []
this.handleClick = this.handleClick.bind(this);
handleClick(e) {
  let arr = this.state.arr
  let item = e.target.id
  if (!arr.includes(item)) {
    this.setState({arr: arr.push(item)})
  } else {
    this.setState({arr: arr.filter(x => x !== item)})
                item.push(item) ?? edit also just noticed that the object literal that initializes this.state is also a syntax error.
– Pointy
                Oct 10, 2018 at 15:45
                You keep changing the code.... is it what you actually have, or what you are trying!!!!!!!
– epascarello
                Oct 10, 2018 at 16:05
                this.setState({arr: arr.push(item)}) is WRONG because you are setting what push  returns.....
– epascarello
                Oct 10, 2018 at 16:12

react says that data is inmutable, also your handle click by far as I see is not binded, thus do this

handleClick = (e)=> {
  let arr = this.state.arr

then make a copy of state

handleClick = (e)=> {
  let arr = Object.assign([],this.state.arr)

and at the end set state of data

handleClick = (e)=> {
  .....
  this.setState({arr: newArr})
 //{arr: arr}
        

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.