JavaScriptの質問をしたり答えたりする掲示板

2019-01-29に作成

JavaScriptに関する質問を何でもしていい掲示板です。匿名での投稿も可能です。どんなことでもどしどし書き込んでください。回答もどなたでも自由にできます。僕も回答できる内容であれば必ず回答します!

質問は下記に沿って書いていただくと回答しやすくなります。

  • 実際のソースコードがある場合、可能な範囲で書いていただくと問題点を見つけやすくなります。
  • 実際に発生したエラーメッセージがある場合、コピペしていただくと問題解決につながる可能性が高いです。
  • 見た目上の問題の場合、スクリーンショットを貼ると状況が把握しやすくなります。

react-bootstrap-tableを大量に使っているときのカラム管理のベストプラクティスを知りたいです。

bResultColumnsが該当箇所です。
jsonではformatterを記述できないので、jsで書いてexportするのがベストかなとは思っていますが。

const seasonFormatter=(cell,row)=>{
    if(row.league_id===null){
        return (<b>通算</b>)
    }else{
        return cell
    }
}

const gameFormatter=(cell,row)=>{
    if(row.game_date !== null){
        return moment(row.game_date).format('MM/DD')+'-'+row.game_number+'対'+row.opponent_name
    }else{
        return <b>{row.title}通算</b>
    }
}
const bResultColumns = [
{
        dataField: 'title',
        text: 'シーズン',
        classes:'int',
        formatter:seasonFormatter
    },
    {
        dataField: 'tpa',
        text: '打席数',
        classes:'int',
    },
    .....
    ]

お疲れ様です。
投稿型のサイトで、URL(外部)が入力されると、入力されたURLからOGP関連のタグをとってきて、自サイトにカード表示させたいなぁと思っています。こちらの実装ですがどのようにやるのが簡単なのでしょうか?
フワッとした質問ですみません。

alexa-appでの実装なのですが。
node-fetchで別サーバからjsonを取得してres.say()で音声応答を返すのですが、
console.log()内ではjsonの内容を表示できるものの、
res.say()に渡すとstringじゃないよと怒られます。

const Alexa = require('alexa-app');
const app = new Alexa.app('Sample');
const fetch = require('node-fetch')


const averageResponse = (req, res) => {
  var num = req.slots['num'].value
  console.log(num)
  fetch('https://******',
    {
      method:'GET',
      headers: { 'Content-Type': 'application/json' }
    })
  .then((response)=>{
    if(response.status === 200){
      return response.json()
    }
  })
  .then((json)=>{
    console.log(json['averageTop10'][num - 1])
    //console.log(res)
    //var json = JSON.parse(data)
    try {
      if(num <= 10){
         //console.log(typeof(String(json.averageTop10[num - 1].average)))
        res.say(''+json.averageTop10[num - 1].average).shouldEndSession(true)
      }  

    } catch (error) {
      console.error(error)      
    }
  })
  .catch((err)=>{
    console.error(err);
  })

コメントアウトしてますが、String()コンストラクタやtoString()メソッドで型変換試してもエラーがキャッチできず、処理も正常に終わってないようなのでちょっと悩み中です。
↓このあたり怪しいなーとは思ってheaderはつけてみましたが変わらず。
str.replace is not a function