警告:“<Context.Provider>”需要“value”属性。您是否拼写错误或忘记传递?反应js

问题描述 投票:0回答:3
import NoteContext from './noteContext';
import { useState } from 'react';

const NoteState = (props)=>{
    const s1 ={
        "name": "Vishal",
        "class": "5b"
    }
    const [state, setState] = useState(s1);
    const update =()=>{
         setTimeout(() => {
             setState({
                 "name":"Aamit",
                 "class":"6b"
             })
         }, 1000);   
    }
    
    return (
        <NoteContext.Provider  values={{state,update}}>
            {props.children}
        </NoteContext.Provider>
    )
}
export default NoteState;
reactjs
3个回答
2
投票

正如评论中提到的,你有一个错字。

values={{state,update}}
应该是
value={{state,update}}


0
投票

我知道这并不完全是OP所做的,但我将这些值作为单独的道具传递,而不是在

value
道具中传递。

错了

<NoteContext.Provider variant={variant} foo={bar}>
  {children}
</NoteContext.Provider>

<NoteContext.Provider value={{variant, foo: bar}}>
  {children}
</NoteContext.Provider>

0
投票

<NoteContext.Provider variant={variant} foo={bar}> {children} </NoteContext.Provider>

© www.soinside.com 2019 - 2024. All rights reserved.