Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.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
Javascript ';值的属性未定义';-如何修复未定义的道具?_Javascript_Reactjs - Fatal编程技术网

Javascript ';值的属性未定义';-如何修复未定义的道具?

Javascript ';值的属性未定义';-如何修复未定义的道具?,javascript,reactjs,Javascript,Reactjs,我试图将一个带有数字的数组传递给一个方法,该方法应该在本地主机“网站”上列出数字。 但出于某种原因,浏览器提示属性“props.value”未定义,即使我在NumberList函数中传递了该值 如果我去掉ItemList函数,而是在NumberList函数中创建代码,我可以设法让它工作,但我想将函数分成两个函数 import React, { Component } from "react"; import "./App.css"; function ListItem({props}) { r

我试图将一个带有数字的数组传递给一个方法,该方法应该在本地主机“网站”上列出数字。 但出于某种原因,浏览器提示属性“props.value”未定义,即使我在NumberList函数中传递了该值

如果我去掉ItemList函数,而是在NumberList函数中创建
  • 代码,我可以设法让它工作,但我想将函数分成两个函数

    import React, { Component } from "react";
    import "./App.css";
    
    function ListItem({props}) {
    return <li>{props.value}</li>;
    }
    
    function NumberList({numbers}) {
    const listItems = numbers.map((number) =>
        <ListItem key={number.toString()} 
                value={number} />
    );
    return (
        <ul>
            {listItems}
        </ul>
    );
    }
    
    // function NumberList({ numbers }) {
    //     const listItems = numbers.map((number) =>
    //         <li key={number.toString()}
    //         > {number}</li>
    //     );
    //     return listItems;
    // }
    
    
    function NumberTable({ numbers }) {
    const tableItems = numbers.map((number) =>
        <table key={number.toString()}>
        <tbody>
            <tr>
                <td>{number}</td>
            </tr>
            </tbody>
        </table>
    );
    return tableItems;
    }
    
    function ListDemo(props) {
    return (
        <div>
            <h2>All numbers passed in via props</h2>
            <NumberList numbers={props.numbers} />
        </div>
    );
    }
    
    export default class App extends React.Component {
    state = { numbers: [1, 2, 3] }
    render() {
        return <ListDemo numbers={this.state.numbers} />;
    }
    }
    
    import React,{Component}来自“React”;
    导入“/App.css”;
    函数ListItem({props}){
    返回
  • {props.value}
  • ; } 函数NumberList({numbers}){ const listItems=numbers.map((number)=> ); 返回(
      {listItems}
    ); } //函数NumberList({numbers}){ //const listItems=numbers.map((number)=> //
  • {number}
  • // ); //返回列表项; // } 函数NumberTable({numbers}){ const tableItems=numbers.map((number)=> {number} ); 归还物品; } 功能列表演示(道具){ 返回( 通过道具传递的所有数字 ); } 导出默认类App扩展React.Component{ 状态={number:[1,2,3]} render(){ 返回; } }
    预期结果:localhost网页上列出的数字
    实际结果:“属性”props.value“未定义”

    您在
    ListItem
    函数的参数中使用了解构:
    {props}
    只使用
    props

    您在
    ListItem
    函数的参数中使用了解构:
    {props}
    只使用
    道具

    你正在破坏
    函数列表项({props}){
    中的道具,这意味着道具将实际具有
    道具的值。道具
    是(未定义的)。要么用值代替道具,要么不破坏它。

    你正在破坏
    函数列表项中的道具({props}{
    这意味着道具实际上具有任何
    道具的价值。道具
    是(未定义的)。要么用值代替道具,要么不要破坏它。

    非常感谢!(我是新来反应的)…:)非常感谢!(我是新来反应的)…:)