Blockchain code Metaverse VR

Crypto×VR×SmartContract(504)

スポンサーリンク

//tips

//smart contract

useeffect内でfetch可能かを試す。

さらにdebankを少数点二桁までの表示に加工。

toFixedを使いsetDebank((results.total_usd_value).toFixed(digit)))とした。

export default function Deposits() {

const [mydebank, setDebank] = useState();
//setDebank(myvalue);
console.log('1');
const digit = 2;

useEffect(() => {
fetch(
'https://openapi.debank.com/v1/user/total_balance?id=0xa242fcb2acbb118ea1b6829efe8b7e2087b43986', {
headers:
{
'accept': 'application/json'
}
})
.then(res => res.json())
.then(results => setDebank((results.total_usd_value).toFixed(digit)))
}, [])

const fns = require('date-fns')
//console.log(fns.format(new Date(), "yyyy-MM-dd'T'HH:mm:ss.SSS"))
const today=fns.format(new Date(), "yyyy-MM-dd")

return (
<Paper>
<h1>Recent Deposits</h1>
<Typography component="p" variant="h4">
$ {mydebank}
</Typography>
<Typography color="text.secondary" sx={{ flex: 1 }}>
{today}
</Typography>
</Paper>
);
}

こちらで無事に反映できた。 useEffectがシンプルな上に便利すぎた。

Mediumで取得した情報をcardデータベースに反映する方法を考える。

Fetchしたmediumの情報をcardの各入力変数に適応させ、その内容をpostさせる必要がある。

Fetchするmediumの情報はhttps://api.rss2json.com/v1/api.json?rss_url=https://medium.com/feed/@Nakithemagicから取得し、

取得するjsonのitemsの中の"title”,"content”を取得し、"categories”:を固定でmediumなどにすればよさそう。

まずはこれからのjsonの内容を適切に抜き出させるかを確認。下記のようなMediumコンポーネントと別のものを作成する。

Fetchでgetした情報を変数に入れて、それをpostさせる流れを考えたが、うまくgetしたものを分割できない。今まではreturnの方で直接反映させていただので、mapを使えたがここではうまく機能しない。どうするか。

async function handleOnMediumCard(e) {
e.preventDefault();

const endpoint = "https://api.rss2json.com/v1/api.json";
const feed_url = "https://medium.com/feed/@Nakithemagic";

// rss feed を取得
var res = await fetch(`https://api.rss2json.com/v1/api.json?rss_url=${feed_url}`);
// text を json 化
var results = await res.json();

console.log(results.items);

setMcard(results.items);

var title=obj.title;//mcard.title
var details=obj.content;

console.log(obj);
console.log(title);
console.log(details);
console.log(category);

 

// if(title&&details){
// fetch('http://localhost:8000/notes', {
// method: 'POST',
// headers: {"Content-type": "application/json"},
// body: JSON.stringify({ title, details, category })
// }).then(() => router.push("/edit"))

// }

}

console.log(mcard.title)などを使う代わりに、そのまま console.log(results.items[0].title);で取得できるのでこちらの方法に切り替え。

console.log(results.items[0].content);

の問題点としてはhtml形式で渡されること。

<p>API test</p>
<p>next.js</p>

一旦このままで進めてみる。

async function handleOnMediumCard(e) {
e.preventDefault();

const endpoint = "https://api.rss2json.com/v1/api.json";
const feed_url = "https://medium.com/feed/@Nakithemagic";

// rss feed を取得
var res = await fetch(`https://api.rss2json.com/v1/api.json?rss_url=${feed_url}`);
// text を json 化
var results = await res.json();

console.log(results.items);

var title=results.items[0].title;//mcard.title
var details=results.items[0].content;

console.log(results.items[0].title);
console.log(results.items[0].content);

if(title&&details){
fetch('http://localhost:8000/notes', {
method: 'POST',
headers: {"Content-type": "application/json"},
body: JSON.stringify({ title, details, category })
}).then(() => router.push("/edit"))

}

Json serverをみると下記のように追加されていた。

{
"title": "Hi Medium",
"details": "\n<p>API test</p>\n<p>next.js</p>\n<img src=\"https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=3800c7813126\" width=\"1\" height=\"1\" alt=\"\">\n",
"category": "Medium",
"id": 6
}

ただ追加後に更新ボタンを押さないと追加カードが表示されない。これは//e.preventDefault();とすることで追加タイミングで更新が行われるようにした。

問題なのはhtlm表記部分がタグと一緒に表示されてしまう部分。こちらを編集する必要がある。

他にも下記が保留中。

Twitter追加ボタンの作成。

人気の記事

1

コロナによる需要変化 コロナパンデミックの影響で、人々は外に出られなくなり、自宅で過ごす時間が増えました。 この自粛ムードの中、下記のようなビジネスの需要変化が引き起こされています。 【利用者減少】 ...

2

米国レストランの決済時に毎日お世話になっていた「Square」のビジネスモデルについて本日はふれていきたいと思います。 「Square」とは、ネットにつながったモバイル端末と専用のカードリーダーを用意 ...

3

無料でネットショップを開けるアプリとして多くの人に驚きを与えたBASE株式会社が、2019年10月25日東証マザーズに上場しました。2020年2月時点で90万店を超えるショップを抱えるまでに成長してい ...

4

2011年にサービスを開始してから圧倒的な成長率を誇るインテリア通販サイト 【FLYMEe/フライミー】を皆さんご存じでしょうか。 「自分のイメージするインテリア、本当に欲しいインテリアがどこにあるの ...

5

ナイキのSNKRSが、なぜこれほどまでに人気なのか?調べてみました。 きっかけは米国での友達との会話。彼は自分のシューズをみせて、「これ20万円もしたんだぜ。」と語ってくれました。 あまり靴に興味がな ...

-Blockchain, code, Metaverse, VR
-, ,

Copyright© BUSINESS HACKER , 2022 All Rights Reserved Powered by AFFINGER5.