/* * @Description: 学员测评页面 * @Author: tangjiang * @Github: * @Date: 2019-11-23 11:33:41 * @LastEditors: tangjiang * @LastEditTime: 2019-12-09 19:57:21 // */ import './index.scss'; import React, { useState, useEffect, useMemo } from 'react'; import { Tabs, Divider } from 'antd'; import { connect } from 'react-redux'; import Comment from './comment'; import CommitRecord from './commitRecord'; import TaskDescription from './taskDescription'; import TextNumber from './../../components/textNumber'; import actions from '../../../../redux/actions'; // const { TabPane } = Tabs; const LeftPane = (props) => { const { hack, userCodeTab, changeUserCodeTab } = props; const { pass_count, submit_count } = hack; const [defaultActiveKey, setDefaultActiveKey] = useState('task'); console.log(pass_count, submit_count); const tabArrs = [ { title: '任务描述', key: 'task', content: () }, { title: '提交记录', key: 'record', content: () }, // { title: '评论', key: 'comment', content: () }, ]; const navItem = [ { title: '任务描述', key: 'task' }, { title: '提交记录', key: 'record' } ]; const Comp = { task: (), record: () }; useEffect(() => { setDefaultActiveKey(userCodeTab); }, [userCodeTab]) // const tabs = tabArrs.map((tab) => { // const Comp = tab.content; // return ( // // { Comp } // // ) // }); // // tab切换时 // const handleTabChange = (key) => { // // setDefaultActiveKey(key); // changeUserCodeTab(key); // } const renderComp = useMemo(() => { return Comp[defaultActiveKey]; }, [defaultActiveKey]); const renderNavItem = navItem.map((item) => { const _classes = item.key === defaultActiveKey ? 'add_editor_item active' : 'add_editor_item'; return (
  • setDefaultActiveKey(item.key)} > {item.title}
  • ) }); // 点击消息 const handleClickMessage = () => { console.log('点击的消息图标---------'); } // 点击点赞 const handleClickLike = () => { console.log('点击的Like---------'); } // 点击不喜欢 const handleClickDisLike = () => { console.log('点击的DisLike---------'); } return ( {/* { tabs }
    */}
      { renderNavItem }
    { renderComp }
    {/*
    */}
    ); } const mapStateToProps = (state) => { const { hack, userCodeTab} = state.ojForUserReducer; return { hack, userCodeTab } } // changeUserCodeTab const mapDispatchToProps = (dispatch) => ({ changeUserCodeTab: (key) => dispatch(actions.changeUserCodeTab(key)) }); export default connect( mapStateToProps, mapDispatchToProps )(LeftPane);