A comment module for React built with React and Typescript.
Quick Start
Installation
Yarn
yarn add simple-react-comments
Npm
npm i -S simple-react-comments
Usage
;;; // Some comment data Component { superprops; thisstate = comments: commentsData ; } { return <div> <CommentsBlock comments=thisstatecomments signinUrl='/signin' isLoggedIn reactRouter // set to true if you are using react-router onSubmit= { if textlength > 0 this; console; } /> </div> ; } ;
Props
PropName | Type | Default value |
---|---|---|
comments | CommentEntity[] | - |
signinUrl | string | - |
onSubmit | function(text: string): void | - |
isLoggedIn? | boolean | false |
reactRouter? | boolean | false |
styles? | StylesEntity | Object |
comments
Type: CommentEntity[]
CommentEntity = avatarUrl: string; authorUrl: string; fullName: string; createdAt: Date; text: string;
Description: Comments data
signinUrl
Type: string
Description: This url is used when unauth user clicks on button "Sign In"
onSubmit
Type: function(text: string): void
Description: Function that is triggered when user submits a comment. Parameter "text" is a text of the comment.
isLoggedIn? (not required)
Type: boolean
Default value: false
Description: If isLoggedIn == true then show form with textarea else show button "Sign In"
reactRouter? (not required)
Type: boolean
Default value: false
Description: If reactRouter == true then all links use react-router's <Link> else <a>
styles? (not required)
Type: StylesEntity
CommentEntity = btn?base: any: any; comment?base: any: any; textarea?base: any: any;
Default value:
...base ...base ...base
Description: That prop is used to change styles of module. You can change btn's, comment's, textarea's styles. If you include "base" then component uses its base styling.
Example:
// Use base styles of btn and override background to red ...base background: red // Reset styles of textarea and use new styles border: none '&::placeholder': color: 'blue'