2017-08-08 3 views
1

npm react tinymceの設定に問題があります。バージョン3.10.10。 問題は、パッケージをインストールしてコンポーネントを追加した後に、データを挿入する必要があるcontentというパラメータがあることです。そして、何とかそれは文字列の値を取るだけです。それを変数や式に設定しようとすると、何もせず、コンソールにエラーもありません。誰も前に同じ問題を経験しましたか?その場合、それはブランクエディタを示して変数をコンテンツパラメータに設定する際に問題が発生する

<TinyMCE 
    content = {this.state.text} 
      onChange={this.handleEditorChange} 
/> 

:ここで私は私のコンポーネントを設定しようとしているかの簡単な例です。 そして、ここではそれが正常に動作するかの例です:

<TinyMCE 
content = 'Any string will display the text correctly' 
      onChange={this.handleEditorChange} 
/> 
+0

「npm」から 'react-tinymce'をテストしました。それはリテラル文字列または任意の文字列変数で適切に動作します。渡された 'content'引数が' tinymce'によって使われる文字列かどんな形式でもよいでしょうか? –

+0

@Firice Nguyenは応答に感謝します。私は100%確信している。この2つのケースの唯一の違いは、文字列の内容で変数を設定しているため、動作しないようです。以下は、コードを操作しない例です: 'let test = 'ただの文字列'; ' フォーマットされていないコードの場合は、Apologeese。私はそれをきれいに書く方法を知らない。 – Messiah

+0

あなたが 'tinymce'エディタの写真を撮ることができれば嬉しいです。私はあなたがそれを正しく設定しているのだろうかと思っています。 'tiny-mce4'を使ってみましたか? –

答えて

0

私は同じ問題に来て、最終的にはそれが何だった考え出しました。コンポーネントに渡される値は元の値です。受け取ったコンポーネントは、新しい値が渡されたかどうかにかかわらず、コンテンツの状態を引き継いで処理します。したがって、文字列を渡す場合、定数であり、コンポーネントの初期レンダリング時に存在します。しかし、変数を渡している場合は、変数の初期値が表示される値と異なる可能性があります(コンポーネントが表示する値を受け取るまで、おそらくnullまたは未定義です)。私の場合は、ページコンテンツを持つオブジェクトを受け取ります。そのうちの1つは、初期コンテンツとして表示されるhtmlです。しかし、レンダリングメソッドは、空のオブジェクトで最初に起動され、次に実際のオブジェクトがデータで開始されました。私がこれを解決するためにしたのは、私のオブジェクトIDの値を使って、小さなmceラッパーのキーに設定されています。

<TinyMCE 
    key={customPageData.id} // this line made the trick 
    content={customPageData.body} 
    config={{ 
     plugins: "link image lists print preview", 
     toolbar: 
      "undo redo | bold italic | alignleft aligncenter alignright | bullist numlist", 
    }} 
    onChange={handleEditorChange} 
/> 
関連する問題