Imは、生成ボタンを押すとランダムなアクティビティを生成できるReactJSプロジェクトに取り組んでいます。私のAPIにフェッチをして、そこからデータを表示しています。これは正常に動作します。今、取得ボタンをクリックするたびに返されたデータを取得して表示します(ホームコンポーネントにあります)。したがって、生成ボタンはコンポーネントを新規に取得して更新する必要があります。また、デフォルトでは空でなければなりません。私はしばらく調べて、関連する回答を見つけることができません。皆さんのお手伝いができますか?ありがとう。ReactJSディスプレイの読み込み応答onClick
は私が正しくあなたを理解している場合、非常に確認していないコンポーネント
import React from 'react'
export class ItemLister extends React.Component {
constructor() {
super();
this.state={suggestion:""}
}
componentDidMount(){
fetch("......./suggestions/random", {
method: "GET",
dataType: "JSON",
headers: {
"Content-Type": "application/json; charset=utf-8",
}
})
.then((resp) => {
return resp.json()
})
.then((data) => {
this.setState({ suggestion: data.suggestion })
})
.catch((error) => {
console.log(error, "catch the hoop")
})
}
render() {
return(
<h2>
{this.state.suggestion}
</h2>
)
}
}
ホームコンポーネント
import React from 'react'
import {ItemLister} from './apiCall'
export class Home extends React.Component {
constructor(props) {
super(props)
console.log()
window.sessionStorage.setItem ('name',this.props.params.name)
window.sessionStorage.setItem ('token', this.props.params.token)
}
render() {
return (
<div className="contentContainer AD">
<table>
<thead>
<tr>
<th><p>Het is heel leuk als het werkt!</p></th>
</tr>
</thead>
<tbody >
<tr><td><ItemLister/></td></tr>
</tbody>
</table>
<div className="container center">
<button>GENERATE</button>
<button>SAVE</button>
<button>MATCH</button>
</div>
</div>
)
}
}
のように、この機能部品を作ることができますあなたはまだすべての問題に直面していますレンダリングの提案? –
いいえ、レンダリングしません。主な問題は、フェッチ機能を接続するための生成ボタンにonClickを設定することです。 –
生成ボタンをクリックするたびに、ItemListenerコンポーネントを更新する必要があります。正しい? –