Code Monkey home page Code Monkey logo

react-naive-book-examples's People

Contributors

huzidaha avatar jacklee814 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

react-naive-book-examples's Issues

一个小小建议

可以将多次 dispatch 在某个时间段合并成一个操作
`function createStore(s,stateChanger) {
const listeners = []
const queue = []
let state = s
const getState = () => state
let timerId :any = 0
const dispatch = (action) => {
console.log(action)
if(typeof action == 'function') {
const d = stateChanger(state,action())
for(const value of listeners) {
value(d)
state = d
}
return;
}
queue.push(() => {
return stateChanger(state,action)
})

    clearImmediate(timerId)
    timerId = setImmediate (() => {
        let d = null
        while (queue.length) {
            d = queue.shift()()
            state = d
        }
        for(const value of listeners) {
            value(d)
        }
    },1)
}
const subscribe = (listen) => listeners.push(listen)
return { getState,dispatch,subscribe }

}`

页面时间更新不正确

首先非常感谢你的教程!!

我按照你说的一步步来的时候,只是把commnet unshift到列表里面,因为我想按时间倒序排列评论。

结果出现了最新插入的那一条的时间是上一条的时间,页面5秒之后刷新才会显示正确的时间。

而且我打印log到控制台,更诡异了,出现的却是comments列表的最后一条,而不是我新插入的那条(但是界面却更新了),请问这个是怎么回事?谢谢

上面这段话在友言里面有敏感字,也是醉了

我录了截图:

2017-04-07_15-12-39

一个小建议

CommnetInput>handleSubmit()中,建议加上一句判断,如果用户名为空,则除了提示输入用户名之外,应该保留内容,这样应该更符合实际。

`` handleSubmit () {
if (this.props.onSubmit) {
const user = this.state.user
const content = this.state.content
// const { user, content } = this.state
this.props.onSubmit({ user, content })
}
if (!this.state.user)
return//如果用户名为空,则到此返回
this.setState ({ content:"" })
}

可以将多个dispatch 合并成一个操作

我刚刚学react,看见您写的小书对我帮助很大。感谢
function createStore(s,stateChanger) {
const listeners = []
const queue = []
let state = s
const getState = () => state
let timerId :any = 0
const dispatch = (action) => {
if(typeof action == 'function') {
const d = stateChanger(state,action())
for(const value of listeners) {
value(d)
state = d
}
return;
}
queue.push(() => {
return stateChanger(state,action)
})
clearImmediate(timerId)
timerId = setImmediate (() => {
let d = null
while (queue.length) {
d = queue.shift()()
state = d
}
for(const value of listeners) {
value(d)
}
},1)
}
const subscribe = (listen) => listeners.push(listen)
return { getState,dispatch,subscribe }
}

Uncaught TypeError: Cannot read property 'slice' of undefined 错误

在comments.js中

   case DELETE_COMMENT:
      // 删除评论
      return {
        comments: [
          ...state.comments.slice(0, action.commentIndex),
          ...state.comments.slice(action.commentIndex + 1)
        ]
      }

改为

    case DELETE_COMMENT:
      //删除评论,记住 index!
      // console.log(state.comments,222222222)
      let aa=state.comments.slice(0,action.commentIndex)
      let bb=state.comments.slice(action.commentIndex+1)
      return {
          comments: [
            ...aa,
            ...bb
          ]

        }

就不会报错了,不知道为什么,请赐教

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.