Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何将道具从子组件传递到父组件_Reactjs - Fatal编程技术网

Reactjs 如何将道具从子组件传递到父组件

Reactjs 如何将道具从子组件传递到父组件,reactjs,Reactjs,如何将道具(修改时)从子组件传递到父组件 一些细节: 我正在处理一个现有的代码库,其中嵌入了父组件 “unstated.Container”和一个单独的子组件,我试图在其中添加一个按钮。什么时候 用户单击此按钮时,某些值会更新,需要将其传递给父级 组成部分 多谢各位 import {Container} from 'unstated'; class DelContainer extends Container{ state = { sortAsc : true, notif

如何将道具(修改时)从子组件传递到父组件

一些细节: 我正在处理一个现有的代码库,其中嵌入了父组件 “unstated.Container”和一个单独的子组件,我试图在其中添加一个按钮。什么时候 用户单击此按钮时,某些值会更新,需要将其传递给父级 组成部分

多谢各位

 import {Container} from 'unstated';

   class DelContainer extends Container{

     state = { sortAsc : true, notified : null}

    setVal = async (Id, value)  => { console.log (`Id : ${Id});  console.log('value: ${value}); }

}

//Child Component (Separate file)
const ChildItems = (props) => {
  const [some_value ] = props;
  const [some_color, setColor] = useState(" ");

 const MarkIt = ({some_value})
 {
   some_value = this.props.some_value;  //ISSUE HERE
 }

 return (
   <IconButton >
      <StarOutlinedIcon onClick = {MarkIt} style={{color: `${some_color}`}}/>
   </IconButton>
 );
}

//Parent Component (Separate file)
import {Subscribe} from 'unstated';
const DelList = (props) => {

    return(

        <Subscribe to ={[DelContainer]}>
        {
           (delStore) => {
                   const[person, isLoading] = delStore.state;
             return(
                     <div>
                        <List className = {props.className} isLoading = {Loading}>
                        {
                             isLoading && person
                               .map((person, index)=>{
                                 return <ChildItem key={index}
                                           person = {person}
                                           some_value = {delStore.MarkIt(some_value)}; 
                                           
                               }
                        }
                       </List<
                     </div>
                   )
          }
        }
      );
 }
从“未声明”导入{Container};
类DelContainer扩展了容器{
state={sortAsc:true,notified:null}
setVal=async(Id,value)=>{console.log(`Id:${Id});console.log('value:${value});}
}
//子组件(单独的文件)
const ChildItems=(道具)=>{
const[some_value]=道具;
const[some_color,setColor]=useState(“”);
常量MarkIt=({some_value})
{
some_value=this.props.some_value;//此处发布
}
返回(
);
}
//父组件(单独的文件)
从“未声明”导入{Subscribe};
const DelList=(道具)=>{
返回(
{
(delStore)=>{
const[person,isLoading]=delStore.state;
返回(
{
孤岛加载(&P)
.map((个人,索引)=>{
返回并阅读以下内容:
Reactjs文档:
类父级扩展React.Component{
liftStateHander=()=>{
这是我的国家({
姓名:“约翰”
})
}
render(){
返回
}
}
子类扩展了React.Component{
render(){
返回(
单击以更改状态父项
)
}
}

这是通过回调完成的。请查看此处的react文档-虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-好的。您给我一个分数编辑您的答案是一个很好的fi第一步,由于您的原始答案主要依赖于链接,因此将被删除。现在,如果人们发现您的答案有用,他们将有机会对您的答案进行更新投票。请不要要求更新投票;这取决于社区的每个成员根据您的答案是否对他们有用来决定。好的,我不知道那么,所有这些都在中解释,见;-)。
class Parent extends React.Component {

  liftStateHander=()=> {
    this.setState({
       name:"John"
    })
  }

  render() {
    return <Child handler={this.liftStateHander} />
  }
}

class Child extends React.Component {
  render() {
    return (
       <button onClick={this.props.handler}>
          Click For Change State Parent 
       </button>
    )
  }
}