【发布时间】:2021-08-21 12:27:56
【问题描述】:
这是我的 App.js 代码
import React, { useState } from "react";
import { Route } from "react-router-dom";
import Home from "./Home/Home";
import TextsList from "./Text/TextsList";
import WriteButton from "./WriteButton/WriteButton";
import ListButton from "./ListButton/ListButton";
import WriteForm from "./WriteForm/WriteForm";
import "./App.css";
function App() {
const [texts, setTexts] = useState([
{
id: 1,
author: "Penguin",
text: "Hello World!!",
},
{
id: 2,
author: "DonaldDuck",
text: "Let's Play~~!!",
},
{
id: 3,
author: "Tom and Jerry",
text: "Jerry Cheese Cake",
},
]);
const [nextId, setNextId] = useState(4);
const [inputAuthor, setInputAuthor] = useState("");
const [inputText, setInputText] = useState("");
const onAuthorChange = (e) => {
e.preventDefault();
setInputAuthor(e.target.value);
};
const onTextChange = (e) => {
e.preventDefault();
setInputText(e.target.value);
};
const onClick = (e) => {
e.preventDefault();
const newTexts = texts.concat({
id: nextId,
author: inputAuthor,
text: inputText,
});
setNextId(nextId + 1);
setTexts(newTexts);
setInputAuthor("");
setInputText("");
const textsList = texts.map((t) => <li key={t.id}>{t}</li>);
return (
<div className="all">
<Route path="/" component={Home} />
<div>
<Route
exact
path="/"
render={() => <TextsList textsList={textsList} />}
/>
</div>
<div id="WriteButton">
<Route exact path="/" component={WriteButton} />
</div>
<div id="WriteForm">
<div id="ListButton">
<Route path="/writeform" component={ListButton} />
</div>
<Route
path="/writeform"
render={() => (
<WriteForm
inputAuthor={inputAuthor}
onAuthorChange={onAuthorChange}
inputText={inputText}
onTextChange={onTextChange}
onClick={onClick}
/>
)}
/>
</div>
</div>
);
}
export default App;
这是我的 TextsList.jsx 代码
import React from "react";
import "./TextsList.css";
const TextList = ({ textsList }) => {
console.log(textsList[2].props.children.text);
return (
<div id="TextListContainer">
<p>John K - Parachute</p>
<ol>{textsList.id}</ol>
</div>
);
};
export default TextList;
console.log(textsList[2].props.children.text); 结果 => 杰瑞芝士蛋糕
我想制作我的 TextsList.jsx 喜欢
return <div id="TextListContainer">
<ol>{textsList.id}</ol>
</div>
如果我写这样的代码
- {textsList.id}
我想让所有的文本都呈现出来。
请帮帮我 (我的英文不好,请见谅)
【问题讨论】:
-
尝试改进问题的结构。很难理解问题是什么以及您想要实现的目标。
-
感谢您的建议!!
标签: javascript reactjs jsx react-props react-state