ऑनक्लिक में निष्पादित होने के बाद ही मैं फ़ंक्शन कॉल कैसे कर सकता हूं। तो मैं राज्य को क्लिक पर सेट करने की कोशिश कर रहा हूं, और फिर दूसरे पेज पर रीडायरेक्ट कर रहा हूं। कुछ इस तरह। {डेटा => {वापसी (

        <MenuItem selected={isHighlighted} component="div"
        onClick={e => {
        e.preventDefault();  
          () => data.setSidenav(path)
        navigate(path)

        }}

        >

        </MenuItem>

    );
  }}
  </ContextConsumer>
2
AnneJoday 22 नवम्बर 2018, 19:40

1 उत्तर

सबसे बढ़िया उत्तर

सेटस्टेट कॉलबैक ले सकता है:

this.setState({ some: 'thing' }, () =>
    // do something here - only executes
    // once setState has run
    console.log(this.state.some)
)

तो आप अपने नेविगेट फ़ंक्शन को data.setSidenav पर पास कर सकते हैं और इसे सेटस्टेट कॉलबैक के रूप में चला सकते हैं। वैकल्पिक रूप से, आपके पास setSidenav फ़ंक्शन में केवल नेविगेट फ़ंक्शन हो सकता है क्योंकि वे दोनों एक तर्क के रूप में "पथ" लेते हैं।

2
Toby 22 नवम्बर 2018, 16:49